// Copyright 2021 Google LLC. All Rights Reserved.
// 
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
// 
//     http://www.apache.org/licenses/LICENSE-2.0
// 
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// GENERATED BY gen_go_data.go
// gen_go_data -package beta -var YAML_dashboard blaze-out/k8-fastbuild/genfiles/cloud/graphite/mmv2/services/google/monitoring/beta/dashboard.yaml

package beta

// blaze-out/k8-fastbuild/genfiles/cloud/graphite/mmv2/services/google/monitoring/beta/dashboard.yaml
var YAML_dashboard = []byte("info:\n  title: Monitoring/Dashboard\n  description: DCL Specification for the Monitoring Dashboard resource\n  x-dcl-has-iam: false\npaths:\n  get:\n    description: The function used to get information about a Dashboard\n    parameters:\n    - name: Dashboard\n      required: true\n      description: A full instance of a Dashboard\n  apply:\n    description: The function used to apply information about a Dashboard\n    parameters:\n    - name: Dashboard\n      required: true\n      description: A full instance of a Dashboard\n  delete:\n    description: The function used to delete a Dashboard\n    parameters:\n    - name: Dashboard\n      required: true\n      description: A full instance of a Dashboard\n  deleteAll:\n    description: The function used to delete all Dashboard\n    parameters:\n    - name: project\n      required: true\n      schema:\n        type: string\n  list:\n    description: The function used to list information about many Dashboard\n    parameters:\n    - name: project\n      required: true\n      schema:\n        type: string\ncomponents:\n  schemas:\n    Dashboard:\n      title: Dashboard\n      x-dcl-id: projects/{{project}}/dashboards/{{name}}\n      x-dcl-parent-container: project\n      type: object\n      required:\n      - name\n      - displayName\n      - project\n      properties:\n        columnLayout:\n          type: object\n          x-dcl-go-name: ColumnLayout\n          x-dcl-go-type: DashboardColumnLayout\n          description: The content is divided into equally spaced columns and the\n            widgets are arranged vertically.\n          x-dcl-conflicts:\n          - gridLayout\n          - mosaicLayout\n          - rowLayout\n          properties:\n            columns:\n              type: array\n              x-dcl-go-name: Columns\n              description: The columns of content to display.\n              x-dcl-send-empty: true\n              x-dcl-list-type: list\n              items:\n                type: object\n                x-dcl-go-type: DashboardColumnLayoutColumns\n                properties:\n                  weight:\n                    type: integer\n                    format: int64\n                    x-dcl-go-name: Weight\n                    description: The relative weight of this column. The column weight\n                      is used to adjust the width of columns on the screen (relative\n                      to peers). Greater the weight, greater the width of the column\n                      on the screen. If omitted, a value of 1 is used while rendering.\n                  widgets:\n                    type: array\n                    x-dcl-go-name: Widgets\n                    description: The display widgets arranged vertically in this column.\n                    x-dcl-send-empty: true\n                    x-dcl-list-type: list\n                    items:\n                      type: object\n                      x-dcl-go-type: DashboardWidget\n                      properties:\n                        blank:\n                          type: object\n                          x-dcl-go-name: Blank\n                          x-dcl-go-type: DashboardWidgetBlank\n                          description: A blank space.\n                        scorecard:\n                          type: object\n                          x-dcl-go-name: Scorecard\n                          x-dcl-go-type: DashboardWidgetScorecard\n                          description: A scorecard summarizing time series data.\n                          required:\n                          - timeSeriesQuery\n                          properties:\n                            gaugeView:\n                              type: object\n                              x-dcl-go-name: GaugeView\n                              x-dcl-go-type: DashboardWidgetScorecardGaugeView\n                              description: Will cause the scorecard to show a gauge\n                                chart.\n                              properties:\n                                lowerBound:\n                                  type: number\n                                  format: double\n                                  x-dcl-go-name: LowerBound\n                                  description: The lower bound for this gauge chart.\n                                    The value of the chart should always be greater\n                                    than or equal to this.\n                                upperBound:\n                                  type: number\n                                  format: double\n                                  x-dcl-go-name: UpperBound\n                                  description: The upper bound for this gauge chart.\n                                    The value of the chart should always be less than\n                                    or equal to this.\n                            sparkChartView:\n                              type: object\n                              x-dcl-go-name: SparkChartView\n                              x-dcl-go-type: DashboardWidgetScorecardSparkChartView\n                              description: Will cause the scorecard to show a spark\n                                chart.\n                              required:\n                              - sparkChartType\n                              properties:\n                                minAlignmentPeriod:\n                                  type: string\n                                  x-dcl-go-name: MinAlignmentPeriod\n                                  description: The lower bound on data point frequency\n                                    in the chart implemented by specifying the minimum\n                                    alignment period to use in a time series query.\n                                    For example, if the data is published once every\n                                    10 minutes it would not make sense to fetch and\n                                    align data at one minute intervals. This field\n                                    is optional and exists only as a hint.\n                                sparkChartType:\n                                  type: string\n                                  x-dcl-go-name: SparkChartType\n                                  x-dcl-go-type: DashboardWidgetScorecardSparkChartViewSparkChartTypeEnum\n                                  description: 'Required. The type of sparkchart to\n                                    show in this chartView. Possible values: SPARK_CHART_TYPE_UNSPECIFIED,\n                                    SPARK_LINE, SPARK_BAR'\n                                  enum:\n                                  - SPARK_CHART_TYPE_UNSPECIFIED\n                                  - SPARK_LINE\n                                  - SPARK_BAR\n                            thresholds:\n                              type: array\n                              x-dcl-go-name: Thresholds\n                              description: 'The thresholds used to determine the state\n                                of the scorecard given the time series'' current value.\n                                For an actual value x, the scorecard is in a danger\n                                state if x is less than or equal to a danger threshold\n                                that triggers below, or greater than or equal to a\n                                danger threshold that triggers above. Similarly, if\n                                x is above/below a warning threshold that triggers\n                                above/below, then the scorecard is in a warning state\n                                - unless x also puts it in a danger state. (Danger\n                                trumps warning.)  As an example, consider a scorecard\n                                with the following four thresholds: {   value: 90,   category:\n                                ''DANGER'',   trigger: ''ABOVE'', }, {   value: 70,   category:\n                                ''WARNING'',   trigger: ''ABOVE'', }, {   value: 10,   category:\n                                ''DANGER'',   trigger: ''BELOW'', }, {   value: 20,   category:\n                                ''WARNING'',   trigger: ''BELOW'', }  Then: values\n                                less than or equal to 10 would put the scorecard in\n                                a DANGER state, values greater than 10 but less than\n                                or equal to 20 a WARNING state, values strictly between\n                                20 and 70 an OK state, values greater than or equal\n                                to 70 but less than 90 a WARNING state, and values\n                                greater than or equal to 90 a DANGER state.'\n                              x-dcl-send-empty: true\n                              x-dcl-list-type: list\n                              items:\n                                type: object\n                                x-dcl-go-type: DashboardWidgetScorecardThresholds\n                                properties:\n                                  color:\n                                    type: string\n                                    x-dcl-go-name: Color\n                                    x-dcl-go-type: DashboardWidgetScorecardThresholdsColorEnum\n                                    description: 'The state color for this threshold.\n                                      Color is not allowed in a XyChart. Possible\n                                      values: COLOR_UNSPECIFIED, GREY, BLUE, GREEN,\n                                      YELLOW, ORANGE, RED'\n                                    enum:\n                                    - COLOR_UNSPECIFIED\n                                    - GREY\n                                    - BLUE\n                                    - GREEN\n                                    - YELLOW\n                                    - ORANGE\n                                    - RED\n                                  direction:\n                                    type: string\n                                    x-dcl-go-name: Direction\n                                    x-dcl-go-type: DashboardWidgetScorecardThresholdsDirectionEnum\n                                    description: 'The direction for the current threshold.\n                                      Direction is not allowed in a XyChart. Possible\n                                      values: DIRECTION_UNSPECIFIED, ABOVE, BELOW'\n                                    enum:\n                                    - DIRECTION_UNSPECIFIED\n                                    - ABOVE\n                                    - BELOW\n                                  label:\n                                    type: string\n                                    x-dcl-go-name: Label\n                                    description: A label for the threshold.\n                                  value:\n                                    type: number\n                                    format: double\n                                    x-dcl-go-name: Value\n                                    description: The value of the threshold. The value\n                                      should be defined in the native scale of the\n                                      metric.\n                            timeSeriesQuery:\n                              type: object\n                              x-dcl-go-name: TimeSeriesQuery\n                              x-dcl-go-type: DashboardWidgetScorecardTimeSeriesQuery\n                              description: Required. Fields for querying time series\n                                data from the Stackdriver metrics API.\n                              properties:\n                                timeSeriesFilter:\n                                  type: object\n                                  x-dcl-go-name: TimeSeriesFilter\n                                  x-dcl-go-type: DashboardWidgetScorecardTimeSeriesQueryTimeSeriesFilter\n                                  description: Filter parameters to fetch time series.\n                                  required:\n                                  - filter\n                                  properties:\n                                    aggregation:\n                                      type: object\n                                      x-dcl-go-name: Aggregation\n                                      x-dcl-go-type: DashboardWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation\n                                      description: By default, the raw time series\n                                        data is returned. Use this field to combine\n                                        multiple time series for different views of\n                                        the data.\n                                      properties:\n                                        alignmentPeriod:\n                                          type: string\n                                          x-dcl-go-name: AlignmentPeriod\n                                          description: The `alignment_period` specifies\n                                            a time interval, in seconds, that is used\n                                            to divide the data in all the [time series][google.monitoring.v3.TimeSeries]\n                                            into consistent blocks of time. This will\n                                            be done before the per-series aligner\n                                            can be applied to the data.  The value\n                                            must be at least 60 seconds. If a per-series\n                                            aligner other than `ALIGN_NONE` is specified,\n                                            this field is required or an error is\n                                            returned. If no per-series aligner is\n                                            specified, or the aligner `ALIGN_NONE`\n                                            is specified, then this field is ignored.\n                                        crossSeriesReducer:\n                                          type: string\n                                          x-dcl-go-name: CrossSeriesReducer\n                                          x-dcl-go-type: DashboardWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum\n                                          description: 'The reduction operation to\n                                            be used to combine time series into a\n                                            single time series, where the value of\n                                            each data point in the resulting series\n                                            is a function of all the already aligned\n                                            values in the input time series.  Not\n                                            all reducer operations can be applied\n                                            to all time series. The valid choices\n                                            depend on the `metric_kind` and the `value_type`\n                                            of the original time series. Reduction\n                                            can yield a time series with a different\n                                            `metric_kind` or `value_type` than the\n                                            input time series.  Time series data must\n                                            first be aligned (see `per_series_aligner`)\n                                            in order to perform cross-time series\n                                            reduction. If `cross_series_reducer` is\n                                            specified, then `per_series_aligner` must\n                                            be specified, and must not be `ALIGN_NONE`.\n                                            An `alignment_period` must also be specified;\n                                            otherwise, an error is returned. Possible\n                                            values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,\n                                            REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,\n                                            REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,\n                                            REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,\n                                            REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,\n                                            REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,\n                                            REDUCE_MAKE_DISTRIBUTION'\n                                          enum:\n                                          - REDUCE_NONE\n                                          - REDUCE_MEAN\n                                          - REDUCE_MIN\n                                          - REDUCE_MAX\n                                          - REDUCE_SUM\n                                          - REDUCE_STDDEV\n                                          - REDUCE_COUNT\n                                          - REDUCE_COUNT_TRUE\n                                          - REDUCE_COUNT_FALSE\n                                          - REDUCE_FRACTION_TRUE\n                                          - REDUCE_PERCENTILE_99\n                                          - REDUCE_PERCENTILE_95\n                                          - REDUCE_PERCENTILE_50\n                                          - REDUCE_PERCENTILE_05\n                                          - REDUCE_FRACTION_LESS_THAN\n                                          - REDUCE_MAKE_DISTRIBUTION\n                                        groupByFields:\n                                          type: array\n                                          x-dcl-go-name: GroupByFields\n                                          description: The set of fields to preserve\n                                            when `cross_series_reducer` is specified.\n                                            The `group_by_fields` determine how the\n                                            time series are partitioned into subsets\n                                            prior to applying the aggregation operation.\n                                            Each subset contains time series that\n                                            have the same value for each of the grouping\n                                            fields. Each individual time series is\n                                            a member of exactly one subset. The `cross_series_reducer`\n                                            is applied to each subset of time series.\n                                            It is not possible to reduce across different\n                                            resource types, so this field implicitly\n                                            contains `resource.type`.  Fields not\n                                            specified in `group_by_fields` are aggregated\n                                            away.  If `group_by_fields` is not specified\n                                            and all the time series have the same\n                                            resource type, then the time series are\n                                            aggregated into a single output time series.\n                                            If `cross_series_reducer` is not defined,\n                                            this field is ignored.\n                                          x-dcl-send-empty: true\n                                          x-dcl-list-type: list\n                                          items:\n                                            type: string\n                                            x-dcl-go-type: string\n                                        perSeriesAligner:\n                                          type: string\n                                          x-dcl-go-name: PerSeriesAligner\n                                          x-dcl-go-type: DashboardWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum\n                                          description: An `Aligner` describes how\n                                            to bring the data points in a single time\n                                            series into temporal alignment. Except\n                                            for `ALIGN_NONE`, all alignments cause\n                                            all the data points in an `alignment_period`\n                                            to be mathematically grouped together,\n                                            resulting in a single data point for each\n                                            `alignment_period` with end timestamp\n                                            at the end of the period.  Not all alignment\n                                            operations may be applied to all time\n                                            series. The valid choices depend on the\n                                            `metric_kind` and `value_type` of the\n                                            original time series. Alignment can change\n                                            the `metric_kind` or the `value_type`\n                                            of the time series.  Time series data\n                                            must be aligned in order to perform cross-time\n                                            series reduction. If `cross_series_reducer`\n                                            is specified, then `per_series_aligner`\n                                            must be specified and not equal to `ALIGN_NONE`\n                                            and `alignment_period` must be specified;\n                                            otherwise, an error is returned.\n                                          enum:\n                                          - ALIGN_NONE\n                                          - ALIGN_DELTA\n                                          - ALIGN_RATE\n                                          - ALIGN_INTERPOLATE\n                                          - ALIGN_NEXT_OLDER\n                                          - ALIGN_MIN\n                                          - ALIGN_MAX\n                                          - ALIGN_MEAN\n                                          - ALIGN_COUNT\n                                          - ALIGN_SUM\n                                          - ALIGN_STDDEV\n                                          - ALIGN_COUNT_TRUE\n                                          - ALIGN_COUNT_FALSE\n                                          - ALIGN_FRACTION_TRUE\n                                          - ALIGN_PERCENTILE_99\n                                          - ALIGN_PERCENTILE_95\n                                          - ALIGN_PERCENTILE_50\n                                          - ALIGN_PERCENTILE_05\n                                          - ALIGN_MAKE_DISTRIBUTION\n                                          - ALIGN_PERCENT_CHANGE\n                                    filter:\n                                      type: string\n                                      x-dcl-go-name: Filter\n                                      description: Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)\n                                        that identifies the metric types, resources,\n                                        and projects to query.\n                                    pickTimeSeriesFilter:\n                                      type: object\n                                      x-dcl-go-name: PickTimeSeriesFilter\n                                      x-dcl-go-type: DashboardWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter\n                                      description: Ranking based time series filter.\n                                      properties:\n                                        direction:\n                                          type: string\n                                          x-dcl-go-name: Direction\n                                          x-dcl-go-type: DashboardWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum\n                                          description: 'How to use the ranking to\n                                            select time series that pass through the\n                                            filter. Possible values: DIRECTION_UNSPECIFIED,\n                                            TOP, BOTTOM'\n                                          enum:\n                                          - DIRECTION_UNSPECIFIED\n                                          - TOP\n                                          - BOTTOM\n                                        numTimeSeries:\n                                          type: integer\n                                          format: int64\n                                          x-dcl-go-name: NumTimeSeries\n                                          description: How many time series to allow\n                                            to pass through the filter.\n                                        rankingMethod:\n                                          type: string\n                                          x-dcl-go-name: RankingMethod\n                                          x-dcl-go-type: DashboardWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum\n                                          description: '`ranking_method` is applied\n                                            to each time series independently to produce\n                                            the value which will be used to compare\n                                            the time series to other time series.\n                                            Possible values: METHOD_UNSPECIFIED, METHOD_MEAN,\n                                            METHOD_MAX, METHOD_MIN, METHOD_SUM, METHOD_LATEST'\n                                          enum:\n                                          - METHOD_UNSPECIFIED\n                                          - METHOD_MEAN\n                                          - METHOD_MAX\n                                          - METHOD_MIN\n                                          - METHOD_SUM\n                                          - METHOD_LATEST\n                                    secondaryAggregation:\n                                      type: object\n                                      x-dcl-go-name: SecondaryAggregation\n                                      x-dcl-go-type: DashboardWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation\n                                      description: Apply a second aggregation after\n                                        `aggregation` is applied.\n                                      properties:\n                                        alignmentPeriod:\n                                          type: string\n                                          x-dcl-go-name: AlignmentPeriod\n                                          description: The `alignment_period` specifies\n                                            a time interval, in seconds, that is used\n                                            to divide the data in all the [time series][google.monitoring.v3.TimeSeries]\n                                            into consistent blocks of time. This will\n                                            be done before the per-series aligner\n                                            can be applied to the data.  The value\n                                            must be at least 60 seconds. If a per-series\n                                            aligner other than `ALIGN_NONE` is specified,\n                                            this field is required or an error is\n                                            returned. If no per-series aligner is\n                                            specified, or the aligner `ALIGN_NONE`\n                                            is specified, then this field is ignored.\n                                        crossSeriesReducer:\n                                          type: string\n                                          x-dcl-go-name: CrossSeriesReducer\n                                          x-dcl-go-type: DashboardWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum\n                                          description: 'The reduction operation to\n                                            be used to combine time series into a\n                                            single time series, where the value of\n                                            each data point in the resulting series\n                                            is a function of all the already aligned\n                                            values in the input time series.  Not\n                                            all reducer operations can be applied\n                                            to all time series. The valid choices\n                                            depend on the `metric_kind` and the `value_type`\n                                            of the original time series. Reduction\n                                            can yield a time series with a different\n                                            `metric_kind` or `value_type` than the\n                                            input time series.  Time series data must\n                                            first be aligned (see `per_series_aligner`)\n                                            in order to perform cross-time series\n                                            reduction. If `cross_series_reducer` is\n                                            specified, then `per_series_aligner` must\n                                            be specified, and must not be `ALIGN_NONE`.\n                                            An `alignment_period` must also be specified;\n                                            otherwise, an error is returned. Possible\n                                            values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,\n                                            REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,\n                                            REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,\n                                            REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,\n                                            REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,\n                                            REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,\n                                            REDUCE_MAKE_DISTRIBUTION'\n                                          enum:\n                                          - REDUCE_NONE\n                                          - REDUCE_MEAN\n                                          - REDUCE_MIN\n                                          - REDUCE_MAX\n                                          - REDUCE_SUM\n                                          - REDUCE_STDDEV\n                                          - REDUCE_COUNT\n                                          - REDUCE_COUNT_TRUE\n                                          - REDUCE_COUNT_FALSE\n                                          - REDUCE_FRACTION_TRUE\n                                          - REDUCE_PERCENTILE_99\n                                          - REDUCE_PERCENTILE_95\n                                          - REDUCE_PERCENTILE_50\n                                          - REDUCE_PERCENTILE_05\n                                          - REDUCE_FRACTION_LESS_THAN\n                                          - REDUCE_MAKE_DISTRIBUTION\n                                        groupByFields:\n                                          type: array\n                                          x-dcl-go-name: GroupByFields\n                                          description: The set of fields to preserve\n                                            when `cross_series_reducer` is specified.\n                                            The `group_by_fields` determine how the\n                                            time series are partitioned into subsets\n                                            prior to applying the aggregation operation.\n                                            Each subset contains time series that\n                                            have the same value for each of the grouping\n                                            fields. Each individual time series is\n                                            a member of exactly one subset. The `cross_series_reducer`\n                                            is applied to each subset of time series.\n                                            It is not possible to reduce across different\n                                            resource types, so this field implicitly\n                                            contains `resource.type`.  Fields not\n                                            specified in `group_by_fields` are aggregated\n                                            away.  If `group_by_fields` is not specified\n                                            and all the time series have the same\n                                            resource type, then the time series are\n                                            aggregated into a single output time series.\n                                            If `cross_series_reducer` is not defined,\n                                            this field is ignored.\n                                          x-dcl-send-empty: true\n                                          x-dcl-list-type: list\n                                          items:\n                                            type: string\n                                            x-dcl-go-type: string\n                                        perSeriesAligner:\n                                          type: string\n                                          x-dcl-go-name: PerSeriesAligner\n                                          x-dcl-go-type: DashboardWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum\n                                          description: An `Aligner` describes how\n                                            to bring the data points in a single time\n                                            series into temporal alignment. Except\n                                            for `ALIGN_NONE`, all alignments cause\n                                            all the data points in an `alignment_period`\n                                            to be mathematically grouped together,\n                                            resulting in a single data point for each\n                                            `alignment_period` with end timestamp\n                                            at the end of the period.  Not all alignment\n                                            operations may be applied to all time\n                                            series. The valid choices depend on the\n                                            `metric_kind` and `value_type` of the\n                                            original time series. Alignment can change\n                                            the `metric_kind` or the `value_type`\n                                            of the time series.  Time series data\n                                            must be aligned in order to perform cross-time\n                                            series reduction. If `cross_series_reducer`\n                                            is specified, then `per_series_aligner`\n                                            must be specified and not equal to `ALIGN_NONE`\n                                            and `alignment_period` must be specified;\n                                            otherwise, an error is returned.\n                                          enum:\n                                          - ALIGN_NONE\n                                          - ALIGN_DELTA\n                                          - ALIGN_RATE\n                                          - ALIGN_INTERPOLATE\n                                          - ALIGN_NEXT_OLDER\n                                          - ALIGN_MIN\n                                          - ALIGN_MAX\n                                          - ALIGN_MEAN\n                                          - ALIGN_COUNT\n                                          - ALIGN_SUM\n                                          - ALIGN_STDDEV\n                                          - ALIGN_COUNT_TRUE\n                                          - ALIGN_COUNT_FALSE\n                                          - ALIGN_FRACTION_TRUE\n                                          - ALIGN_PERCENTILE_99\n                                          - ALIGN_PERCENTILE_95\n                                          - ALIGN_PERCENTILE_50\n                                          - ALIGN_PERCENTILE_05\n                                          - ALIGN_MAKE_DISTRIBUTION\n                                          - ALIGN_PERCENT_CHANGE\n                                timeSeriesFilterRatio:\n                                  type: object\n                                  x-dcl-go-name: TimeSeriesFilterRatio\n                                  x-dcl-go-type: DashboardWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio\n                                  description: Parameters to fetch a ratio between\n                                    two time series filters.\n                                  properties:\n                                    denominator:\n                                      type: object\n                                      x-dcl-go-name: Denominator\n                                      x-dcl-go-type: DashboardWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator\n                                      description: The denominator of the ratio.\n                                      required:\n                                      - filter\n                                      properties:\n                                        aggregation:\n                                          type: object\n                                          x-dcl-go-name: Aggregation\n                                          x-dcl-go-type: DashboardWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation\n                                          description: By default, the raw time series\n                                            data is returned. Use this field to combine\n                                            multiple time series for different views\n                                            of the data.\n                                          properties:\n                                            alignmentPeriod:\n                                              type: string\n                                              x-dcl-go-name: AlignmentPeriod\n                                              description: The `alignment_period`\n                                                specifies a time interval, in seconds,\n                                                that is used to divide the data in\n                                                all the [time series][google.monitoring.v3.TimeSeries]\n                                                into consistent blocks of time. This\n                                                will be done before the per-series\n                                                aligner can be applied to the data.  The\n                                                value must be at least 60 seconds.\n                                                If a per-series aligner other than\n                                                `ALIGN_NONE` is specified, this field\n                                                is required or an error is returned.\n                                                If no per-series aligner is specified,\n                                                or the aligner `ALIGN_NONE` is specified,\n                                                then this field is ignored.\n                                            crossSeriesReducer:\n                                              type: string\n                                              x-dcl-go-name: CrossSeriesReducer\n                                              x-dcl-go-type: DashboardWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum\n                                              description: 'The reduction operation\n                                                to be used to combine time series\n                                                into a single time series, where the\n                                                value of each data point in the resulting\n                                                series is a function of all the already\n                                                aligned values in the input time series.  Not\n                                                all reducer operations can be applied\n                                                to all time series. The valid choices\n                                                depend on the `metric_kind` and the\n                                                `value_type` of the original time\n                                                series. Reduction can yield a time\n                                                series with a different `metric_kind`\n                                                or `value_type` than the input time\n                                                series.  Time series data must first\n                                                be aligned (see `per_series_aligner`)\n                                                in order to perform cross-time series\n                                                reduction. If `cross_series_reducer`\n                                                is specified, then `per_series_aligner`\n                                                must be specified, and must not be\n                                                `ALIGN_NONE`. An `alignment_period`\n                                                must also be specified; otherwise,\n                                                an error is returned. Possible values:\n                                                REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,\n                                                REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,\n                                                REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,\n                                                REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,\n                                                REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,\n                                                REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,\n                                                REDUCE_MAKE_DISTRIBUTION'\n                                              enum:\n                                              - REDUCE_NONE\n                                              - REDUCE_MEAN\n                                              - REDUCE_MIN\n                                              - REDUCE_MAX\n                                              - REDUCE_SUM\n                                              - REDUCE_STDDEV\n                                              - REDUCE_COUNT\n                                              - REDUCE_COUNT_TRUE\n                                              - REDUCE_COUNT_FALSE\n                                              - REDUCE_FRACTION_TRUE\n                                              - REDUCE_PERCENTILE_99\n                                              - REDUCE_PERCENTILE_95\n                                              - REDUCE_PERCENTILE_50\n                                              - REDUCE_PERCENTILE_05\n                                              - REDUCE_FRACTION_LESS_THAN\n                                              - REDUCE_MAKE_DISTRIBUTION\n                                            groupByFields:\n                                              type: array\n                                              x-dcl-go-name: GroupByFields\n                                              description: The set of fields to preserve\n                                                when `cross_series_reducer` is specified.\n                                                The `group_by_fields` determine how\n                                                the time series are partitioned into\n                                                subsets prior to applying the aggregation\n                                                operation. Each subset contains time\n                                                series that have the same value for\n                                                each of the grouping fields. Each\n                                                individual time series is a member\n                                                of exactly one subset. The `cross_series_reducer`\n                                                is applied to each subset of time\n                                                series. It is not possible to reduce\n                                                across different resource types, so\n                                                this field implicitly contains `resource.type`.  Fields\n                                                not specified in `group_by_fields`\n                                                are aggregated away.  If `group_by_fields`\n                                                is not specified and all the time\n                                                series have the same resource type,\n                                                then the time series are aggregated\n                                                into a single output time series.\n                                                If `cross_series_reducer` is not defined,\n                                                this field is ignored.\n                                              x-dcl-send-empty: true\n                                              x-dcl-list-type: list\n                                              items:\n                                                type: string\n                                                x-dcl-go-type: string\n                                            perSeriesAligner:\n                                              type: string\n                                              x-dcl-go-name: PerSeriesAligner\n                                              x-dcl-go-type: DashboardWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum\n                                              description: An `Aligner` describes\n                                                how to bring the data points in a\n                                                single time series into temporal alignment.\n                                                Except for `ALIGN_NONE`, all alignments\n                                                cause all the data points in an `alignment_period`\n                                                to be mathematically grouped together,\n                                                resulting in a single data point for\n                                                each `alignment_period` with end timestamp\n                                                at the end of the period.  Not all\n                                                alignment operations may be applied\n                                                to all time series. The valid choices\n                                                depend on the `metric_kind` and `value_type`\n                                                of the original time series. Alignment\n                                                can change the `metric_kind` or the\n                                                `value_type` of the time series.  Time\n                                                series data must be aligned in order\n                                                to perform cross-time series reduction.\n                                                If `cross_series_reducer` is specified,\n                                                then `per_series_aligner` must be\n                                                specified and not equal to `ALIGN_NONE`\n                                                and `alignment_period` must be specified;\n                                                otherwise, an error is returned.\n                                              enum:\n                                              - ALIGN_NONE\n                                              - ALIGN_DELTA\n                                              - ALIGN_RATE\n                                              - ALIGN_INTERPOLATE\n                                              - ALIGN_NEXT_OLDER\n                                              - ALIGN_MIN\n                                              - ALIGN_MAX\n                                              - ALIGN_MEAN\n                                              - ALIGN_COUNT\n                                              - ALIGN_SUM\n                                              - ALIGN_STDDEV\n                                              - ALIGN_COUNT_TRUE\n                                              - ALIGN_COUNT_FALSE\n                                              - ALIGN_FRACTION_TRUE\n                                              - ALIGN_PERCENTILE_99\n                                              - ALIGN_PERCENTILE_95\n                                              - ALIGN_PERCENTILE_50\n                                              - ALIGN_PERCENTILE_05\n                                              - ALIGN_MAKE_DISTRIBUTION\n                                              - ALIGN_PERCENT_CHANGE\n                                        filter:\n                                          type: string\n                                          x-dcl-go-name: Filter\n                                          description: Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)\n                                            that identifies the metric types, resources,\n                                            and projects to query.\n                                    numerator:\n                                      type: object\n                                      x-dcl-go-name: Numerator\n                                      x-dcl-go-type: DashboardWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator\n                                      description: The numerator of the ratio.\n                                      required:\n                                      - filter\n                                      properties:\n                                        aggregation:\n                                          type: object\n                                          x-dcl-go-name: Aggregation\n                                          x-dcl-go-type: DashboardWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation\n                                          description: By default, the raw time series\n                                            data is returned. Use this field to combine\n                                            multiple time series for different views\n                                            of the data.\n                                          properties:\n                                            alignmentPeriod:\n                                              type: string\n                                              x-dcl-go-name: AlignmentPeriod\n                                              description: The `alignment_period`\n                                                specifies a time interval, in seconds,\n                                                that is used to divide the data in\n                                                all the [time series][google.monitoring.v3.TimeSeries]\n                                                into consistent blocks of time. This\n                                                will be done before the per-series\n                                                aligner can be applied to the data.  The\n                                                value must be at least 60 seconds.\n                                                If a per-series aligner other than\n                                                `ALIGN_NONE` is specified, this field\n                                                is required or an error is returned.\n                                                If no per-series aligner is specified,\n                                                or the aligner `ALIGN_NONE` is specified,\n                                                then this field is ignored.\n                                            crossSeriesReducer:\n                                              type: string\n                                              x-dcl-go-name: CrossSeriesReducer\n                                              x-dcl-go-type: DashboardWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum\n                                              description: 'The reduction operation\n                                                to be used to combine time series\n                                                into a single time series, where the\n                                                value of each data point in the resulting\n                                                series is a function of all the already\n                                                aligned values in the input time series.  Not\n                                                all reducer operations can be applied\n                                                to all time series. The valid choices\n                                                depend on the `metric_kind` and the\n                                                `value_type` of the original time\n                                                series. Reduction can yield a time\n                                                series with a different `metric_kind`\n                                                or `value_type` than the input time\n                                                series.  Time series data must first\n                                                be aligned (see `per_series_aligner`)\n                                                in order to perform cross-time series\n                                                reduction. If `cross_series_reducer`\n                                                is specified, then `per_series_aligner`\n                                                must be specified, and must not be\n                                                `ALIGN_NONE`. An `alignment_period`\n                                                must also be specified; otherwise,\n                                                an error is returned. Possible values:\n                                                REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,\n                                                REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,\n                                                REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,\n                                                REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,\n                                                REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,\n                                                REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,\n                                                REDUCE_MAKE_DISTRIBUTION'\n                                              enum:\n                                              - REDUCE_NONE\n                                              - REDUCE_MEAN\n                                              - REDUCE_MIN\n                                              - REDUCE_MAX\n                                              - REDUCE_SUM\n                                              - REDUCE_STDDEV\n                                              - REDUCE_COUNT\n                                              - REDUCE_COUNT_TRUE\n                                              - REDUCE_COUNT_FALSE\n                                              - REDUCE_FRACTION_TRUE\n                                              - REDUCE_PERCENTILE_99\n                                              - REDUCE_PERCENTILE_95\n                                              - REDUCE_PERCENTILE_50\n                                              - REDUCE_PERCENTILE_05\n                                              - REDUCE_FRACTION_LESS_THAN\n                                              - REDUCE_MAKE_DISTRIBUTION\n                                            groupByFields:\n                                              type: array\n                                              x-dcl-go-name: GroupByFields\n                                              description: The set of fields to preserve\n                                                when `cross_series_reducer` is specified.\n                                                The `group_by_fields` determine how\n                                                the time series are partitioned into\n                                                subsets prior to applying the aggregation\n                                                operation. Each subset contains time\n                                                series that have the same value for\n                                                each of the grouping fields. Each\n                                                individual time series is a member\n                                                of exactly one subset. The `cross_series_reducer`\n                                                is applied to each subset of time\n                                                series. It is not possible to reduce\n                                                across different resource types, so\n                                                this field implicitly contains `resource.type`.  Fields\n                                                not specified in `group_by_fields`\n                                                are aggregated away.  If `group_by_fields`\n                                                is not specified and all the time\n                                                series have the same resource type,\n                                                then the time series are aggregated\n                                                into a single output time series.\n                                                If `cross_series_reducer` is not defined,\n                                                this field is ignored.\n                                              x-dcl-send-empty: true\n                                              x-dcl-list-type: list\n                                              items:\n                                                type: string\n                                                x-dcl-go-type: string\n                                            perSeriesAligner:\n                                              type: string\n                                              x-dcl-go-name: PerSeriesAligner\n                                              x-dcl-go-type: DashboardWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum\n                                              description: An `Aligner` describes\n                                                how to bring the data points in a\n                                                single time series into temporal alignment.\n                                                Except for `ALIGN_NONE`, all alignments\n                                                cause all the data points in an `alignment_period`\n                                                to be mathematically grouped together,\n                                                resulting in a single data point for\n                                                each `alignment_period` with end timestamp\n                                                at the end of the period.  Not all\n                                                alignment operations may be applied\n                                                to all time series. The valid choices\n                                                depend on the `metric_kind` and `value_type`\n                                                of the original time series. Alignment\n                                                can change the `metric_kind` or the\n                                                `value_type` of the time series.  Time\n                                                series data must be aligned in order\n                                                to perform cross-time series reduction.\n                                                If `cross_series_reducer` is specified,\n                                                then `per_series_aligner` must be\n                                                specified and not equal to `ALIGN_NONE`\n                                                and `alignment_period` must be specified;\n                                                otherwise, an error is returned.\n                                              enum:\n                                              - ALIGN_NONE\n                                              - ALIGN_DELTA\n                                              - ALIGN_RATE\n                                              - ALIGN_INTERPOLATE\n                                              - ALIGN_NEXT_OLDER\n                                              - ALIGN_MIN\n                                              - ALIGN_MAX\n                                              - ALIGN_MEAN\n                                              - ALIGN_COUNT\n                                              - ALIGN_SUM\n                                              - ALIGN_STDDEV\n                                              - ALIGN_COUNT_TRUE\n                                              - ALIGN_COUNT_FALSE\n                                              - ALIGN_FRACTION_TRUE\n                                              - ALIGN_PERCENTILE_99\n                                              - ALIGN_PERCENTILE_95\n                                              - ALIGN_PERCENTILE_50\n                                              - ALIGN_PERCENTILE_05\n                                              - ALIGN_MAKE_DISTRIBUTION\n                                              - ALIGN_PERCENT_CHANGE\n                                        filter:\n                                          type: string\n                                          x-dcl-go-name: Filter\n                                          description: Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)\n                                            that identifies the metric types, resources,\n                                            and projects to query.\n                                    pickTimeSeriesFilter:\n                                      type: object\n                                      x-dcl-go-name: PickTimeSeriesFilter\n                                      x-dcl-go-type: DashboardWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter\n                                      description: Ranking based time series filter.\n                                      properties:\n                                        direction:\n                                          type: string\n                                          x-dcl-go-name: Direction\n                                          x-dcl-go-type: DashboardWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum\n                                          description: 'How to use the ranking to\n                                            select time series that pass through the\n                                            filter. Possible values: DIRECTION_UNSPECIFIED,\n                                            TOP, BOTTOM'\n                                          enum:\n                                          - DIRECTION_UNSPECIFIED\n                                          - TOP\n                                          - BOTTOM\n                                        numTimeSeries:\n                                          type: integer\n                                          format: int64\n                                          x-dcl-go-name: NumTimeSeries\n                                          description: How many time series to allow\n                                            to pass through the filter.\n                                        rankingMethod:\n                                          type: string\n                                          x-dcl-go-name: RankingMethod\n                                          x-dcl-go-type: DashboardWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum\n                                          description: '`ranking_method` is applied\n                                            to each time series independently to produce\n                                            the value which will be used to compare\n                                            the time series to other time series.\n                                            Possible values: METHOD_UNSPECIFIED, METHOD_MEAN,\n                                            METHOD_MAX, METHOD_MIN, METHOD_SUM, METHOD_LATEST'\n                                          enum:\n                                          - METHOD_UNSPECIFIED\n                                          - METHOD_MEAN\n                                          - METHOD_MAX\n                                          - METHOD_MIN\n                                          - METHOD_SUM\n                                          - METHOD_LATEST\n                                    secondaryAggregation:\n                                      type: object\n                                      x-dcl-go-name: SecondaryAggregation\n                                      x-dcl-go-type: DashboardWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation\n                                      description: Apply a second aggregation after\n                                        the ratio is computed.\n                                      properties:\n                                        alignmentPeriod:\n                                          type: string\n                                          x-dcl-go-name: AlignmentPeriod\n                                          description: The `alignment_period` specifies\n                                            a time interval, in seconds, that is used\n                                            to divide the data in all the [time series][google.monitoring.v3.TimeSeries]\n                                            into consistent blocks of time. This will\n                                            be done before the per-series aligner\n                                            can be applied to the data.  The value\n                                            must be at least 60 seconds. If a per-series\n                                            aligner other than `ALIGN_NONE` is specified,\n                                            this field is required or an error is\n                                            returned. If no per-series aligner is\n                                            specified, or the aligner `ALIGN_NONE`\n                                            is specified, then this field is ignored.\n                                        crossSeriesReducer:\n                                          type: string\n                                          x-dcl-go-name: CrossSeriesReducer\n                                          x-dcl-go-type: DashboardWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum\n                                          description: 'The reduction operation to\n                                            be used to combine time series into a\n                                            single time series, where the value of\n                                            each data point in the resulting series\n                                            is a function of all the already aligned\n                                            values in the input time series.  Not\n                                            all reducer operations can be applied\n                                            to all time series. The valid choices\n                                            depend on the `metric_kind` and the `value_type`\n                                            of the original time series. Reduction\n                                            can yield a time series with a different\n                                            `metric_kind` or `value_type` than the\n                                            input time series.  Time series data must\n                                            first be aligned (see `per_series_aligner`)\n                                            in order to perform cross-time series\n                                            reduction. If `cross_series_reducer` is\n                                            specified, then `per_series_aligner` must\n                                            be specified, and must not be `ALIGN_NONE`.\n                                            An `alignment_period` must also be specified;\n                                            otherwise, an error is returned. Possible\n                                            values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,\n                                            REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,\n                                            REDUCE_COUNT, REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,\n                                            REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,\n                                            REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,\n                                            REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,\n                                            REDUCE_MAKE_DISTRIBUTION'\n                                          enum:\n                                          - REDUCE_NONE\n                                          - REDUCE_MEAN\n                                          - REDUCE_MIN\n                                          - REDUCE_MAX\n                                          - REDUCE_SUM\n                                          - REDUCE_STDDEV\n                                          - REDUCE_COUNT\n                                          - REDUCE_COUNT_TRUE\n                                          - REDUCE_COUNT_FALSE\n                                          - REDUCE_FRACTION_TRUE\n                                          - REDUCE_PERCENTILE_99\n                                          - REDUCE_PERCENTILE_95\n                                          - REDUCE_PERCENTILE_50\n                                          - REDUCE_PERCENTILE_05\n                                          - REDUCE_FRACTION_LESS_THAN\n                                          - REDUCE_MAKE_DISTRIBUTION\n                                        groupByFields:\n                                          type: array\n                                          x-dcl-go-name: GroupByFields\n                                          description: The set of fields to preserve\n                                            when `cross_series_reducer` is specified.\n                                            The `group_by_fields` determine how the\n                                            time series are partitioned into subsets\n                                            prior to applying the aggregation operation.\n                                            Each subset contains time series that\n                                            have the same value for each of the grouping\n                                            fields. Each individual time series is\n                                            a member of exactly one subset. The `cross_series_reducer`\n                                            is applied to each subset of time series.\n                                            It is not possible to reduce across different\n                                            resource types, so this field implicitly\n                                            contains `resource.type`.  Fields not\n                                            specified in `group_by_fields` are aggregated\n                                            away.  If `group_by_fields` is not specified\n                                            and all the time series have the same\n                                            resource type, then the time series are\n                                            aggregated into a single output time series.\n                                            If `cross_series_reducer` is not defined,\n                                            this field is ignored.\n                                          x-dcl-send-empty: true\n                                          x-dcl-list-type: list\n                                          items:\n                                            type: string\n                                            x-dcl-go-type: string\n                                        perSeriesAligner:\n                                          type: string\n                                          x-dcl-go-name: PerSeriesAligner\n                                          x-dcl-go-type: DashboardWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum\n                                          description: An `Aligner` describes how\n                                            to bring the data points in a single time\n                                            series into temporal alignment. Except\n                                            for `ALIGN_NONE`, all alignments cause\n                                            all the data points in an `alignment_period`\n                                            to be mathematically grouped together,\n                                            resulting in a single data point for each\n                                            `alignment_period` with end timestamp\n                                            at the end of the period.  Not all alignment\n                                            operations may be applied to all time\n                                            series. The valid choices depend on the\n                                            `metric_kind` and `value_type` of the\n                                            original time series. Alignment can change\n                                            the `metric_kind` or the `value_type`\n                                            of the time series.  Time series data\n                                            must be aligned in order to perform cross-time\n                                            series reduction. If `cross_series_reducer`\n                                            is specified, then `per_series_aligner`\n                                            must be specified and not equal to `ALIGN_NONE`\n                                            and `alignment_period` must be specified;\n                                            otherwise, an error is returned.\n                                          enum:\n                                          - ALIGN_NONE\n                                          - ALIGN_DELTA\n                                          - ALIGN_RATE\n                                          - ALIGN_INTERPOLATE\n                                          - ALIGN_NEXT_OLDER\n                                          - ALIGN_MIN\n                                          - ALIGN_MAX\n                                          - ALIGN_MEAN\n                                          - ALIGN_COUNT\n                                          - ALIGN_SUM\n                                          - ALIGN_STDDEV\n                                          - ALIGN_COUNT_TRUE\n                                          - ALIGN_COUNT_FALSE\n                                          - ALIGN_FRACTION_TRUE\n                                          - ALIGN_PERCENTILE_99\n                                          - ALIGN_PERCENTILE_95\n                                          - ALIGN_PERCENTILE_50\n                                          - ALIGN_PERCENTILE_05\n                                          - ALIGN_MAKE_DISTRIBUTION\n                                          - ALIGN_PERCENT_CHANGE\n                                timeSeriesQueryLanguage:\n                                  type: string\n                                  x-dcl-go-name: TimeSeriesQueryLanguage\n                                  description: A query used to fetch time series.\n                                unitOverride:\n                                  type: string\n                                  x-dcl-go-name: UnitOverride\n                                  description: The unit of data contained in fetched\n                                    time series. If non-empty, this unit will override\n                                    any unit that accompanies fetched data. The format\n                                    is the same as the [`unit`](https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.metricDescriptors)\n                                    field in `MetricDescriptor`.\n                        text:\n                          type: object\n                          x-dcl-go-name: Text\n                          x-dcl-go-type: DashboardWidgetText\n                          description: A raw string or markdown displaying textual\n                            content.\n                          properties:\n                            content:\n                              type: string\n                              x-dcl-go-name: Content\n                              description: The text content to be displayed.\n                            format:\n                              type: string\n                              x-dcl-go-name: Format\n                              x-dcl-go-type: DashboardWidgetTextFormatEnum\n                              description: 'How the text content is formatted. Possible\n                                values: FORMAT_UNSPECIFIED, MARKDOWN, RAW'\n                              enum:\n                              - FORMAT_UNSPECIFIED\n                              - MARKDOWN\n                              - RAW\n                        title:\n                          type: string\n                          x-dcl-go-name: Title\n                          description: Optional. The title of the widget.\n                        xyChart:\n                          type: object\n                          x-dcl-go-name: XyChart\n                          x-dcl-go-type: DashboardWidgetXyChart\n                          description: A chart of time series data.\n                          required:\n                          - dataSets\n                          properties:\n                            chartOptions:\n                              type: object\n                              x-dcl-go-name: ChartOptions\n                              x-dcl-go-type: DashboardWidgetXyChartChartOptions\n                              description: Display options for the chart.\n                              properties:\n                                mode:\n                                  type: string\n                                  x-dcl-go-name: Mode\n                                  x-dcl-go-type: DashboardWidgetXyChartChartOptionsModeEnum\n                                  description: 'The chart mode. Possible values: MODE_UNSPECIFIED,\n                                    COLOR, X_RAY, STATS'\n                                  enum:\n                                  - MODE_UNSPECIFIED\n                                  - COLOR\n                                  - X_RAY\n                                  - STATS\n                            dataSets:\n                              type: array\n                              x-dcl-go-name: DataSets\n                              description: Required. The data displayed in this chart.\n                              x-dcl-send-empty: true\n                              x-dcl-list-type: list\n                              items:\n                                type: object\n                                x-dcl-go-type: DashboardWidgetXyChartDataSets\n                                required:\n                                - timeSeriesQuery\n                                properties:\n                                  legendTemplate:\n                                    type: string\n                                    x-dcl-go-name: LegendTemplate\n                                    description: 'A template string for naming `TimeSeries`\n                                      in the resulting data set. This should be a\n                                      string with interpolations of the form `${label_name}`,\n                                      which will resolve to the label''s value. '\n                                  minAlignmentPeriod:\n                                    type: string\n                                    x-dcl-go-name: MinAlignmentPeriod\n                                    description: Optional. The lower bound on data\n                                      point frequency for this data set, implemented\n                                      by specifying the minimum alignment period to\n                                      use in a time series query For example, if the\n                                      data is published once every 10 minutes, the\n                                      `min_alignment_period` should be at least 10\n                                      minutes. It would not make sense to fetch and\n                                      align data at one minute intervals.\n                                  plotType:\n                                    type: string\n                                    x-dcl-go-name: PlotType\n                                    x-dcl-go-type: DashboardWidgetXyChartDataSetsPlotTypeEnum\n                                    description: 'How this data should be plotted\n                                      on the chart. Possible values: PLOT_TYPE_UNSPECIFIED,\n                                      LINE, STACKED_AREA, STACKED_BAR, HEATMAP'\n                                    enum:\n                                    - PLOT_TYPE_UNSPECIFIED\n                                    - LINE\n                                    - STACKED_AREA\n                                    - STACKED_BAR\n                                    - HEATMAP\n                                  timeSeriesQuery:\n                                    type: object\n                                    x-dcl-go-name: TimeSeriesQuery\n                                    x-dcl-go-type: DashboardWidgetXyChartDataSetsTimeSeriesQuery\n                                    description: Required. Fields for querying time\n                                      series data from the Stackdriver metrics API.\n                                    properties:\n                                      timeSeriesFilter:\n                                        type: object\n                                        x-dcl-go-name: TimeSeriesFilter\n                                        x-dcl-go-type: DashboardWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter\n                                        description: Filter parameters to fetch time\n                                          series.\n                                        required:\n                                        - filter\n                                        properties:\n                                          aggregation:\n                                            type: object\n                                            x-dcl-go-name: Aggregation\n                                            x-dcl-go-type: DashboardWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation\n                                            description: By default, the raw time\n                                              series data is returned. Use this field\n                                              to combine multiple time series for\n                                              different views of the data.\n                                            properties:\n                                              alignmentPeriod:\n                                                type: string\n                                                x-dcl-go-name: AlignmentPeriod\n                                                description: The `alignment_period`\n                                                  specifies a time interval, in seconds,\n                                                  that is used to divide the data\n                                                  in all the [time series][google.monitoring.v3.TimeSeries]\n                                                  into consistent blocks of time.\n                                                  This will be done before the per-series\n                                                  aligner can be applied to the data.  The\n                                                  value must be at least 60 seconds.\n                                                  If a per-series aligner other than\n                                                  `ALIGN_NONE` is specified, this\n                                                  field is required or an error is\n                                                  returned. If no per-series aligner\n                                                  is specified, or the aligner `ALIGN_NONE`\n                                                  is specified, then this field is\n                                                  ignored.\n                                              crossSeriesReducer:\n                                                type: string\n                                                x-dcl-go-name: CrossSeriesReducer\n                                                x-dcl-go-type: DashboardWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum\n                                                description: 'The reduction operation\n                                                  to be used to combine time series\n                                                  into a single time series, where\n                                                  the value of each data point in\n                                                  the resulting series is a function\n                                                  of all the already aligned values\n                                                  in the input time series.  Not all\n                                                  reducer operations can be applied\n                                                  to all time series. The valid choices\n                                                  depend on the `metric_kind` and\n                                                  the `value_type` of the original\n                                                  time series. Reduction can yield\n                                                  a time series with a different `metric_kind`\n                                                  or `value_type` than the input time\n                                                  series.  Time series data must first\n                                                  be aligned (see `per_series_aligner`)\n                                                  in order to perform cross-time series\n                                                  reduction. If `cross_series_reducer`\n                                                  is specified, then `per_series_aligner`\n                                                  must be specified, and must not\n                                                  be `ALIGN_NONE`. An `alignment_period`\n                                                  must also be specified; otherwise,\n                                                  an error is returned. Possible values:\n                                                  REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,\n                                                  REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,\n                                                  REDUCE_COUNT, REDUCE_COUNT_TRUE,\n                                                  REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE,\n                                                  REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95,\n                                                  REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05,\n                                                  REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION'\n                                                enum:\n                                                - REDUCE_NONE\n                                                - REDUCE_MEAN\n                                                - REDUCE_MIN\n                                                - REDUCE_MAX\n                                                - REDUCE_SUM\n                                                - REDUCE_STDDEV\n                                                - REDUCE_COUNT\n                                                - REDUCE_COUNT_TRUE\n                                                - REDUCE_COUNT_FALSE\n                                                - REDUCE_FRACTION_TRUE\n                                                - REDUCE_PERCENTILE_99\n                                                - REDUCE_PERCENTILE_95\n                                                - REDUCE_PERCENTILE_50\n                                                - REDUCE_PERCENTILE_05\n                                                - REDUCE_FRACTION_LESS_THAN\n                                                - REDUCE_MAKE_DISTRIBUTION\n                                              groupByFields:\n                                                type: array\n                                                x-dcl-go-name: GroupByFields\n                                                description: The set of fields to\n                                                  preserve when `cross_series_reducer`\n                                                  is specified. The `group_by_fields`\n                                                  determine how the time series are\n                                                  partitioned into subsets prior to\n                                                  applying the aggregation operation.\n                                                  Each subset contains time series\n                                                  that have the same value for each\n                                                  of the grouping fields. Each individual\n                                                  time series is a member of exactly\n                                                  one subset. The `cross_series_reducer`\n                                                  is applied to each subset of time\n                                                  series. It is not possible to reduce\n                                                  across different resource types,\n                                                  so this field implicitly contains\n                                                  `resource.type`.  Fields not specified\n                                                  in `group_by_fields` are aggregated\n                                                  away.  If `group_by_fields` is not\n                                                  specified and all the time series\n                                                  have the same resource type, then\n                                                  the time series are aggregated into\n                                                  a single output time series. If\n                                                  `cross_series_reducer` is not defined,\n                                                  this field is ignored.\n                                                x-dcl-send-empty: true\n                                                x-dcl-list-type: list\n                                                items:\n                                                  type: string\n                                                  x-dcl-go-type: string\n                                              perSeriesAligner:\n                                                type: string\n                                                x-dcl-go-name: PerSeriesAligner\n                                                x-dcl-go-type: DashboardWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum\n                                                description: An `Aligner` describes\n                                                  how to bring the data points in\n                                                  a single time series into temporal\n                                                  alignment. Except for `ALIGN_NONE`,\n                                                  all alignments cause all the data\n                                                  points in an `alignment_period`\n                                                  to be mathematically grouped together,\n                                                  resulting in a single data point\n                                                  for each `alignment_period` with\n                                                  end timestamp at the end of the\n                                                  period.  Not all alignment operations\n                                                  may be applied to all time series.\n                                                  The valid choices depend on the\n                                                  `metric_kind` and `value_type` of\n                                                  the original time series. Alignment\n                                                  can change the `metric_kind` or\n                                                  the `value_type` of the time series.  Time\n                                                  series data must be aligned in order\n                                                  to perform cross-time series reduction.\n                                                  If `cross_series_reducer` is specified,\n                                                  then `per_series_aligner` must be\n                                                  specified and not equal to `ALIGN_NONE`\n                                                  and `alignment_period` must be specified;\n                                                  otherwise, an error is returned.\n                                                enum:\n                                                - ALIGN_NONE\n                                                - ALIGN_DELTA\n                                                - ALIGN_RATE\n                                                - ALIGN_INTERPOLATE\n                                                - ALIGN_NEXT_OLDER\n                                                - ALIGN_MIN\n                                                - ALIGN_MAX\n                                                - ALIGN_MEAN\n                                                - ALIGN_COUNT\n                                                - ALIGN_SUM\n                                                - ALIGN_STDDEV\n                                                - ALIGN_COUNT_TRUE\n                                                - ALIGN_COUNT_FALSE\n                                                - ALIGN_FRACTION_TRUE\n                                                - ALIGN_PERCENTILE_99\n                                                - ALIGN_PERCENTILE_95\n                                                - ALIGN_PERCENTILE_50\n                                                - ALIGN_PERCENTILE_05\n                                                - ALIGN_MAKE_DISTRIBUTION\n                                                - ALIGN_PERCENT_CHANGE\n                                          filter:\n                                            type: string\n                                            x-dcl-go-name: Filter\n                                            description: Required. The [monitoring\n                                              filter](https://cloud.google.com/monitoring/api/v3/filters)\n                                              that identifies the metric types, resources,\n                                              and projects to query.\n                                          pickTimeSeriesFilter:\n                                            type: object\n                                            x-dcl-go-name: PickTimeSeriesFilter\n                                            x-dcl-go-type: DashboardWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter\n                                            description: Ranking based time series\n                                              filter.\n                                            properties:\n                                              direction:\n                                                type: string\n                                                x-dcl-go-name: Direction\n                                                x-dcl-go-type: DashboardWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum\n                                                description: 'How to use the ranking\n                                                  to select time series that pass\n                                                  through the filter. Possible values:\n                                                  DIRECTION_UNSPECIFIED, TOP, BOTTOM'\n                                                enum:\n                                                - DIRECTION_UNSPECIFIED\n                                                - TOP\n                                                - BOTTOM\n                                              numTimeSeries:\n                                                type: integer\n                                                format: int64\n                                                x-dcl-go-name: NumTimeSeries\n                                                description: How many time series\n                                                  to allow to pass through the filter.\n                                              rankingMethod:\n                                                type: string\n                                                x-dcl-go-name: RankingMethod\n                                                x-dcl-go-type: DashboardWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum\n                                                description: '`ranking_method` is\n                                                  applied to each time series independently\n                                                  to produce the value which will\n                                                  be used to compare the time series\n                                                  to other time series. Possible values:\n                                                  METHOD_UNSPECIFIED, METHOD_MEAN,\n                                                  METHOD_MAX, METHOD_MIN, METHOD_SUM,\n                                                  METHOD_LATEST'\n                                                enum:\n                                                - METHOD_UNSPECIFIED\n                                                - METHOD_MEAN\n                                                - METHOD_MAX\n                                                - METHOD_MIN\n                                                - METHOD_SUM\n                                                - METHOD_LATEST\n                                          secondaryAggregation:\n                                            type: object\n                                            x-dcl-go-name: SecondaryAggregation\n                                            x-dcl-go-type: DashboardWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation\n                                            description: Apply a second aggregation\n                                              after `aggregation` is applied.\n                                            properties:\n                                              alignmentPeriod:\n                                                type: string\n                                                x-dcl-go-name: AlignmentPeriod\n                                                description: The `alignment_period`\n                                                  specifies a time interval, in seconds,\n                                                  that is used to divide the data\n                                                  in all the [time series][google.monitoring.v3.TimeSeries]\n                                                  into consistent blocks of time.\n                                                  This will be done before the per-series\n                                                  aligner can be applied to the data.  The\n                                                  value must be at least 60 seconds.\n                                                  If a per-series aligner other than\n                                                  `ALIGN_NONE` is specified, this\n                                                  field is required or an error is\n                                                  returned. If no per-series aligner\n                                                  is specified, or the aligner `ALIGN_NONE`\n                                                  is specified, then this field is\n                                                  ignored.\n                                              crossSeriesReducer:\n                                                type: string\n                                                x-dcl-go-name: CrossSeriesReducer\n                                                x-dcl-go-type: DashboardWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum\n                                                description: 'The reduction operation\n                                                  to be used to combine time series\n                                                  into a single time series, where\n                                                  the value of each data point in\n                                                  the resulting series is a function\n                                                  of all the already aligned values\n                                                  in the input time series.  Not all\n                                                  reducer operations can be applied\n                                                  to all time series. The valid choices\n                                                  depend on the `metric_kind` and\n                                                  the `value_type` of the original\n                                                  time series. Reduction can yield\n                                                  a time series with a different `metric_kind`\n                                                  or `value_type` than the input time\n                                                  series.  Time series data must first\n                                                  be aligned (see `per_series_aligner`)\n                                                  in order to perform cross-time series\n                                                  reduction. If `cross_series_reducer`\n                                                  is specified, then `per_series_aligner`\n                                                  must be specified, and must not\n                                                  be `ALIGN_NONE`. An `alignment_period`\n                                                  must also be specified; otherwise,\n                                                  an error is returned. Possible values:\n                                                  REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,\n                                                  REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,\n                                                  REDUCE_COUNT, REDUCE_COUNT_TRUE,\n                                                  REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE,\n                                                  REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95,\n                                                  REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05,\n                                                  REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION'\n                                                enum:\n                                                - REDUCE_NONE\n                                                - REDUCE_MEAN\n                                                - REDUCE_MIN\n                                                - REDUCE_MAX\n                                                - REDUCE_SUM\n                                                - REDUCE_STDDEV\n                                                - REDUCE_COUNT\n                                                - REDUCE_COUNT_TRUE\n                                                - REDUCE_COUNT_FALSE\n                                                - REDUCE_FRACTION_TRUE\n                                                - REDUCE_PERCENTILE_99\n                                                - REDUCE_PERCENTILE_95\n                                                - REDUCE_PERCENTILE_50\n                                                - REDUCE_PERCENTILE_05\n                                                - REDUCE_FRACTION_LESS_THAN\n                                                - REDUCE_MAKE_DISTRIBUTION\n                                              groupByFields:\n                                                type: array\n                                                x-dcl-go-name: GroupByFields\n                                                description: The set of fields to\n                                                  preserve when `cross_series_reducer`\n                                                  is specified. The `group_by_fields`\n                                                  determine how the time series are\n                                                  partitioned into subsets prior to\n                                                  applying the aggregation operation.\n                                                  Each subset contains time series\n                                                  that have the same value for each\n                                                  of the grouping fields. Each individual\n                                                  time series is a member of exactly\n                                                  one subset. The `cross_series_reducer`\n                                                  is applied to each subset of time\n                                                  series. It is not possible to reduce\n                                                  across different resource types,\n                                                  so this field implicitly contains\n                                                  `resource.type`.  Fields not specified\n                                                  in `group_by_fields` are aggregated\n                                                  away.  If `group_by_fields` is not\n                                                  specified and all the time series\n                                                  have the same resource type, then\n                                                  the time series are aggregated into\n                                                  a single output time series. If\n                                                  `cross_series_reducer` is not defined,\n                                                  this field is ignored.\n                                                x-dcl-send-empty: true\n                                                x-dcl-list-type: list\n                                                items:\n                                                  type: string\n                                                  x-dcl-go-type: string\n                                              perSeriesAligner:\n                                                type: string\n                                                x-dcl-go-name: PerSeriesAligner\n                                                x-dcl-go-type: DashboardWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum\n                                                description: An `Aligner` describes\n                                                  how to bring the data points in\n                                                  a single time series into temporal\n                                                  alignment. Except for `ALIGN_NONE`,\n                                                  all alignments cause all the data\n                                                  points in an `alignment_period`\n                                                  to be mathematically grouped together,\n                                                  resulting in a single data point\n                                                  for each `alignment_period` with\n                                                  end timestamp at the end of the\n                                                  period.  Not all alignment operations\n                                                  may be applied to all time series.\n                                                  The valid choices depend on the\n                                                  `metric_kind` and `value_type` of\n                                                  the original time series. Alignment\n                                                  can change the `metric_kind` or\n                                                  the `value_type` of the time series.  Time\n                                                  series data must be aligned in order\n                                                  to perform cross-time series reduction.\n                                                  If `cross_series_reducer` is specified,\n                                                  then `per_series_aligner` must be\n                                                  specified and not equal to `ALIGN_NONE`\n                                                  and `alignment_period` must be specified;\n                                                  otherwise, an error is returned.\n                                                enum:\n                                                - ALIGN_NONE\n                                                - ALIGN_DELTA\n                                                - ALIGN_RATE\n                                                - ALIGN_INTERPOLATE\n                                                - ALIGN_NEXT_OLDER\n                                                - ALIGN_MIN\n                                                - ALIGN_MAX\n                                                - ALIGN_MEAN\n                                                - ALIGN_COUNT\n                                                - ALIGN_SUM\n                                                - ALIGN_STDDEV\n                                                - ALIGN_COUNT_TRUE\n                                                - ALIGN_COUNT_FALSE\n                                                - ALIGN_FRACTION_TRUE\n                                                - ALIGN_PERCENTILE_99\n                                                - ALIGN_PERCENTILE_95\n                                                - ALIGN_PERCENTILE_50\n                                                - ALIGN_PERCENTILE_05\n                                                - ALIGN_MAKE_DISTRIBUTION\n                                                - ALIGN_PERCENT_CHANGE\n                                      timeSeriesFilterRatio:\n                                        type: object\n                                        x-dcl-go-name: TimeSeriesFilterRatio\n                                        x-dcl-go-type: DashboardWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio\n                                        description: Parameters to fetch a ratio between\n                                          two time series filters.\n                                        properties:\n                                          denominator:\n                                            type: object\n                                            x-dcl-go-name: Denominator\n                                            x-dcl-go-type: DashboardWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator\n                                            description: The denominator of the ratio.\n                                            required:\n                                            - filter\n                                            properties:\n                                              aggregation:\n                                                type: object\n                                                x-dcl-go-name: Aggregation\n                                                x-dcl-go-type: DashboardWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation\n                                                description: By default, the raw time\n                                                  series data is returned. Use this\n                                                  field to combine multiple time series\n                                                  for different views of the data.\n                                                properties:\n                                                  alignmentPeriod:\n                                                    type: string\n                                                    x-dcl-go-name: AlignmentPeriod\n                                                    description: The `alignment_period`\n                                                      specifies a time interval, in\n                                                      seconds, that is used to divide\n                                                      the data in all the [time series][google.monitoring.v3.TimeSeries]\n                                                      into consistent blocks of time.\n                                                      This will be done before the\n                                                      per-series aligner can be applied\n                                                      to the data.  The value must\n                                                      be at least 60 seconds. If a\n                                                      per-series aligner other than\n                                                      `ALIGN_NONE` is specified, this\n                                                      field is required or an error\n                                                      is returned. If no per-series\n                                                      aligner is specified, or the\n                                                      aligner `ALIGN_NONE` is specified,\n                                                      then this field is ignored.\n                                                  crossSeriesReducer:\n                                                    type: string\n                                                    x-dcl-go-name: CrossSeriesReducer\n                                                    x-dcl-go-type: DashboardWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum\n                                                    description: 'The reduction operation\n                                                      to be used to combine time series\n                                                      into a single time series, where\n                                                      the value of each data point\n                                                      in the resulting series is a\n                                                      function of all the already\n                                                      aligned values in the input\n                                                      time series.  Not all reducer\n                                                      operations can be applied to\n                                                      all time series. The valid choices\n                                                      depend on the `metric_kind`\n                                                      and the `value_type` of the\n                                                      original time series. Reduction\n                                                      can yield a time series with\n                                                      a different `metric_kind` or\n                                                      `value_type` than the input\n                                                      time series.  Time series data\n                                                      must first be aligned (see `per_series_aligner`)\n                                                      in order to perform cross-time\n                                                      series reduction. If `cross_series_reducer`\n                                                      is specified, then `per_series_aligner`\n                                                      must be specified, and must\n                                                      not be `ALIGN_NONE`. An `alignment_period`\n                                                      must also be specified; otherwise,\n                                                      an error is returned. Possible\n                                                      values: REDUCE_NONE, REDUCE_MEAN,\n                                                      REDUCE_MIN, REDUCE_MAX, REDUCE_SUM,\n                                                      REDUCE_STDDEV, REDUCE_COUNT,\n                                                      REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,\n                                                      REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,\n                                                      REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,\n                                                      REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,\n                                                      REDUCE_MAKE_DISTRIBUTION'\n                                                    enum:\n                                                    - REDUCE_NONE\n                                                    - REDUCE_MEAN\n                                                    - REDUCE_MIN\n                                                    - REDUCE_MAX\n                                                    - REDUCE_SUM\n                                                    - REDUCE_STDDEV\n                                                    - REDUCE_COUNT\n                                                    - REDUCE_COUNT_TRUE\n                                                    - REDUCE_COUNT_FALSE\n                                                    - REDUCE_FRACTION_TRUE\n                                                    - REDUCE_PERCENTILE_99\n                                                    - REDUCE_PERCENTILE_95\n                                                    - REDUCE_PERCENTILE_50\n                                                    - REDUCE_PERCENTILE_05\n                                                    - REDUCE_FRACTION_LESS_THAN\n                                                    - REDUCE_MAKE_DISTRIBUTION\n                                                  groupByFields:\n                                                    type: array\n                                                    x-dcl-go-name: GroupByFields\n                                                    description: The set of fields\n                                                      to preserve when `cross_series_reducer`\n                                                      is specified. The `group_by_fields`\n                                                      determine how the time series\n                                                      are partitioned into subsets\n                                                      prior to applying the aggregation\n                                                      operation. Each subset contains\n                                                      time series that have the same\n                                                      value for each of the grouping\n                                                      fields. Each individual time\n                                                      series is a member of exactly\n                                                      one subset. The `cross_series_reducer`\n                                                      is applied to each subset of\n                                                      time series. It is not possible\n                                                      to reduce across different resource\n                                                      types, so this field implicitly\n                                                      contains `resource.type`.  Fields\n                                                      not specified in `group_by_fields`\n                                                      are aggregated away.  If `group_by_fields`\n                                                      is not specified and all the\n                                                      time series have the same resource\n                                                      type, then the time series are\n                                                      aggregated into a single output\n                                                      time series. If `cross_series_reducer`\n                                                      is not defined, this field is\n                                                      ignored.\n                                                    x-dcl-send-empty: true\n                                                    x-dcl-list-type: list\n                                                    items:\n                                                      type: string\n                                                      x-dcl-go-type: string\n                                                  perSeriesAligner:\n                                                    type: string\n                                                    x-dcl-go-name: PerSeriesAligner\n                                                    x-dcl-go-type: DashboardWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum\n                                                    description: An `Aligner` describes\n                                                      how to bring the data points\n                                                      in a single time series into\n                                                      temporal alignment. Except for\n                                                      `ALIGN_NONE`, all alignments\n                                                      cause all the data points in\n                                                      an `alignment_period` to be\n                                                      mathematically grouped together,\n                                                      resulting in a single data point\n                                                      for each `alignment_period`\n                                                      with end timestamp at the end\n                                                      of the period.  Not all alignment\n                                                      operations may be applied to\n                                                      all time series. The valid choices\n                                                      depend on the `metric_kind`\n                                                      and `value_type` of the original\n                                                      time series. Alignment can change\n                                                      the `metric_kind` or the `value_type`\n                                                      of the time series.  Time series\n                                                      data must be aligned in order\n                                                      to perform cross-time series\n                                                      reduction. If `cross_series_reducer`\n                                                      is specified, then `per_series_aligner`\n                                                      must be specified and not equal\n                                                      to `ALIGN_NONE` and `alignment_period`\n                                                      must be specified; otherwise,\n                                                      an error is returned.\n                                                    enum:\n                                                    - ALIGN_NONE\n                                                    - ALIGN_DELTA\n                                                    - ALIGN_RATE\n                                                    - ALIGN_INTERPOLATE\n                                                    - ALIGN_NEXT_OLDER\n                                                    - ALIGN_MIN\n                                                    - ALIGN_MAX\n                                                    - ALIGN_MEAN\n                                                    - ALIGN_COUNT\n                                                    - ALIGN_SUM\n                                                    - ALIGN_STDDEV\n                                                    - ALIGN_COUNT_TRUE\n                                                    - ALIGN_COUNT_FALSE\n                                                    - ALIGN_FRACTION_TRUE\n                                                    - ALIGN_PERCENTILE_99\n                                                    - ALIGN_PERCENTILE_95\n                                                    - ALIGN_PERCENTILE_50\n                                                    - ALIGN_PERCENTILE_05\n                                                    - ALIGN_MAKE_DISTRIBUTION\n                                                    - ALIGN_PERCENT_CHANGE\n                                              filter:\n                                                type: string\n                                                x-dcl-go-name: Filter\n                                                description: Required. The [monitoring\n                                                  filter](https://cloud.google.com/monitoring/api/v3/filters)\n                                                  that identifies the metric types,\n                                                  resources, and projects to query.\n                                          numerator:\n                                            type: object\n                                            x-dcl-go-name: Numerator\n                                            x-dcl-go-type: DashboardWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator\n                                            description: The numerator of the ratio.\n                                            required:\n                                            - filter\n                                            properties:\n                                              aggregation:\n                                                type: object\n                                                x-dcl-go-name: Aggregation\n                                                x-dcl-go-type: DashboardWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation\n                                                description: By default, the raw time\n                                                  series data is returned. Use this\n                                                  field to combine multiple time series\n                                                  for different views of the data.\n                                                properties:\n                                                  alignmentPeriod:\n                                                    type: string\n                                                    x-dcl-go-name: AlignmentPeriod\n                                                    description: The `alignment_period`\n                                                      specifies a time interval, in\n                                                      seconds, that is used to divide\n                                                      the data in all the [time series][google.monitoring.v3.TimeSeries]\n                                                      into consistent blocks of time.\n                                                      This will be done before the\n                                                      per-series aligner can be applied\n                                                      to the data.  The value must\n                                                      be at least 60 seconds. If a\n                                                      per-series aligner other than\n                                                      `ALIGN_NONE` is specified, this\n                                                      field is required or an error\n                                                      is returned. If no per-series\n                                                      aligner is specified, or the\n                                                      aligner `ALIGN_NONE` is specified,\n                                                      then this field is ignored.\n                                                  crossSeriesReducer:\n                                                    type: string\n                                                    x-dcl-go-name: CrossSeriesReducer\n                                                    x-dcl-go-type: DashboardWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum\n                                                    description: 'The reduction operation\n                                                      to be used to combine time series\n                                                      into a single time series, where\n                                                      the value of each data point\n                                                      in the resulting series is a\n                                                      function of all the already\n                                                      aligned values in the input\n                                                      time series.  Not all reducer\n                                                      operations can be applied to\n                                                      all time series. The valid choices\n                                                      depend on the `metric_kind`\n                                                      and the `value_type` of the\n                                                      original time series. Reduction\n                                                      can yield a time series with\n                                                      a different `metric_kind` or\n                                                      `value_type` than the input\n                                                      time series.  Time series data\n                                                      must first be aligned (see `per_series_aligner`)\n                                                      in order to perform cross-time\n                                                      series reduction. If `cross_series_reducer`\n                                                      is specified, then `per_series_aligner`\n                                                      must be specified, and must\n                                                      not be `ALIGN_NONE`. An `alignment_period`\n                                                      must also be specified; otherwise,\n                                                      an error is returned. Possible\n                                                      values: REDUCE_NONE, REDUCE_MEAN,\n                                                      REDUCE_MIN, REDUCE_MAX, REDUCE_SUM,\n                                                      REDUCE_STDDEV, REDUCE_COUNT,\n                                                      REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE,\n                                                      REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,\n                                                      REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,\n                                                      REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,\n                                                      REDUCE_MAKE_DISTRIBUTION'\n                                                    enum:\n                                                    - REDUCE_NONE\n                                                    - REDUCE_MEAN\n                                                    - REDUCE_MIN\n                                                    - REDUCE_MAX\n                                                    - REDUCE_SUM\n                                                    - REDUCE_STDDEV\n                                                    - REDUCE_COUNT\n                                                    - REDUCE_COUNT_TRUE\n                                                    - REDUCE_COUNT_FALSE\n                                                    - REDUCE_FRACTION_TRUE\n                                                    - REDUCE_PERCENTILE_99\n                                                    - REDUCE_PERCENTILE_95\n                                                    - REDUCE_PERCENTILE_50\n                                                    - REDUCE_PERCENTILE_05\n                                                    - REDUCE_FRACTION_LESS_THAN\n                                                    - REDUCE_MAKE_DISTRIBUTION\n                                                  groupByFields:\n                                                    type: array\n                                                    x-dcl-go-name: GroupByFields\n                                                    description: The set of fields\n                                                      to preserve when `cross_series_reducer`\n                                                      is specified. The `group_by_fields`\n                                                      determine how the time series\n                                                      are partitioned into subsets\n                                                      prior to applying the aggregation\n                                                      operation. Each subset contains\n                                                      time series that have the same\n                                                      value for each of the grouping\n                                                      fields. Each individual time\n                                                      series is a member of exactly\n                                                      one subset. The `cross_series_reducer`\n                                                      is applied to each subset of\n                                                      time series. It is not possible\n                                                      to reduce across different resource\n                                                      types, so this field implicitly\n                                                      contains `resource.type`.  Fields\n                                                      not specified in `group_by_fields`\n                                                      are aggregated away.  If `group_by_fields`\n                                                      is not specified and all the\n                                                      time series have the same resource\n                                                      type, then the time series are\n                                                      aggregated into a single output\n                                                      time series. If `cross_series_reducer`\n                                                      is not defined, this field is\n                                                      ignored.\n                                                    x-dcl-send-empty: true\n                                                    x-dcl-list-type: list\n                                                    items:\n                                                      type: string\n                                                      x-dcl-go-type: string\n                                                  perSeriesAligner:\n                                                    type: string\n                                                    x-dcl-go-name: PerSeriesAligner\n                                                    x-dcl-go-type: DashboardWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum\n                                                    description: An `Aligner` describes\n                                                      how to bring the data points\n                                                      in a single time series into\n                                                      temporal alignment. Except for\n                                                      `ALIGN_NONE`, all alignments\n                                                      cause all the data points in\n                                                      an `alignment_period` to be\n                                                      mathematically grouped together,\n                                                      resulting in a single data point\n                                                      for each `alignment_period`\n                                                      with end timestamp at the end\n                                                      of the period.  Not all alignment\n                                                      operations may be applied to\n                                                      all time series. The valid choices\n                                                      depend on the `metric_kind`\n                                                      and `value_type` of the original\n                                                      time series. Alignment can change\n                                                      the `metric_kind` or the `value_type`\n                                                      of the time series.  Time series\n                                                      data must be aligned in order\n                                                      to perform cross-time series\n                                                      reduction. If `cross_series_reducer`\n                                                      is specified, then `per_series_aligner`\n                                                      must be specified and not equal\n                                                      to `ALIGN_NONE` and `alignment_period`\n                                                      must be specified; otherwise,\n                                                      an error is returned.\n                                                    enum:\n                                                    - ALIGN_NONE\n                                                    - ALIGN_DELTA\n                                                    - ALIGN_RATE\n                                                    - ALIGN_INTERPOLATE\n                                                    - ALIGN_NEXT_OLDER\n                                                    - ALIGN_MIN\n                                                    - ALIGN_MAX\n                                                    - ALIGN_MEAN\n                                                    - ALIGN_COUNT\n                                                    - ALIGN_SUM\n                                                    - ALIGN_STDDEV\n                                                    - ALIGN_COUNT_TRUE\n                                                    - ALIGN_COUNT_FALSE\n                                                    - ALIGN_FRACTION_TRUE\n                                                    - ALIGN_PERCENTILE_99\n                                                    - ALIGN_PERCENTILE_95\n                                                    - ALIGN_PERCENTILE_50\n                                                    - ALIGN_PERCENTILE_05\n                                                    - ALIGN_MAKE_DISTRIBUTION\n                                                    - ALIGN_PERCENT_CHANGE\n                                              filter:\n                                                type: string\n                                                x-dcl-go-name: Filter\n                                                description: Required. The [monitoring\n                                                  filter](https://cloud.google.com/monitoring/api/v3/filters)\n                                                  that identifies the metric types,\n                                                  resources, and projects to query.\n                                          pickTimeSeriesFilter:\n                                            type: object\n                                            x-dcl-go-name: PickTimeSeriesFilter\n                                            x-dcl-go-type: DashboardWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter\n                                            description: Ranking based time series\n                                              filter.\n                                            properties:\n                                              direction:\n                                                type: string\n                                                x-dcl-go-name: Direction\n                                                x-dcl-go-type: DashboardWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum\n                                                description: 'How to use the ranking\n                                                  to select time series that pass\n                                                  through the filter. Possible values:\n                                                  DIRECTION_UNSPECIFIED, TOP, BOTTOM'\n                                                enum:\n                                                - DIRECTION_UNSPECIFIED\n                                                - TOP\n                                                - BOTTOM\n                                              numTimeSeries:\n                                                type: integer\n                                                format: int64\n                                                x-dcl-go-name: NumTimeSeries\n                                                description: How many time series\n                                                  to allow to pass through the filter.\n                                              rankingMethod:\n                                                type: string\n                                                x-dcl-go-name: RankingMethod\n                                                x-dcl-go-type: DashboardWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum\n                                                description: '`ranking_method` is\n                                                  applied to each time series independently\n                                                  to produce the value which will\n                                                  be used to compare the time series\n                                                  to other time series. Possible values:\n                                                  METHOD_UNSPECIFIED, METHOD_MEAN,\n                                                  METHOD_MAX, METHOD_MIN, METHOD_SUM,\n                                                  METHOD_LATEST'\n                                                enum:\n                                                - METHOD_UNSPECIFIED\n                                                - METHOD_MEAN\n                                                - METHOD_MAX\n                                                - METHOD_MIN\n                                                - METHOD_SUM\n                                                - METHOD_LATEST\n                                          secondaryAggregation:\n                                            type: object\n                                            x-dcl-go-name: SecondaryAggregation\n                                            x-dcl-go-type: DashboardWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation\n                                            description: Apply a second aggregation\n                                              after the ratio is computed.\n                                            properties:\n                                              alignmentPeriod:\n                                                type: string\n                                                x-dcl-go-name: AlignmentPeriod\n                                                description: The `alignment_period`\n                                                  specifies a time interval, in seconds,\n                                                  that is used to divide the data\n                                                  in all the [time series][google.monitoring.v3.TimeSeries]\n                                                  into consistent blocks of time.\n                                                  This will be done before the per-series\n                                                  aligner can be applied to the data.  The\n                                                  value must be at least 60 seconds.\n                                                  If a per-series aligner other than\n                                                  `ALIGN_NONE` is specified, this\n                                                  field is required or an error is\n                                                  returned. If no per-series aligner\n                                                  is specified, or the aligner `ALIGN_NONE`\n                                                  is specified, then this field is\n                                                  ignored.\n                                              crossSeriesReducer:\n                                                type: string\n                                                x-dcl-go-name: CrossSeriesReducer\n                                                x-dcl-go-type: DashboardWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum\n                                                description: 'The reduction operation\n                                                  to be used to combine time series\n                                                  into a single time series, where\n                                                  the value of each data point in\n                                                  the resulting series is a function\n                                                  of all the already aligned values\n                                                  in the input time series.  Not all\n                                                  reducer operations can be applied\n                                                  to all time series. The valid choices\n                                                  depend on the `metric_kind` and\n                                                  the `value_type` of the original\n                                                  time series. Reduction can yield\n                                                  a time series with a different `metric_kind`\n                                                  or `value_type` than the input time\n                                                  series.  Time series data must first\n                                                  be aligned (see `per_series_aligner`)\n                                                  in order to perform cross-time series\n                                                  reduction. If `cross_series_reducer`\n                                                  is specified, then `per_series_aligner`\n                                                  must be specified, and must not\n                                                  be `ALIGN_NONE`. An `alignment_period`\n                                                  must also be specified; otherwise,\n                                                  an error is returned. Possible values:\n                                                  REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,\n                                                  REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV,\n                                                  REDUCE_COUNT, REDUCE_COUNT_TRUE,\n                                                  REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE,\n                                                  REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95,\n                                                  REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05,\n                                                  REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION'\n                                                enum:\n                                                - REDUCE_NONE\n                                                - REDUCE_MEAN\n                                                - REDUCE_MIN\n                                                - REDUCE_MAX\n                                                - REDUCE_SUM\n                                                - REDUCE_STDDEV\n                                                - REDUCE_COUNT\n                                                - REDUCE_COUNT_TRUE\n                                                - REDUCE_COUNT_FALSE\n                                                - REDUCE_FRACTION_TRUE\n                                                - REDUCE_PERCENTILE_99\n                                                - REDUCE_PERCENTILE_95\n                                                - REDUCE_PERCENTILE_50\n                                                - REDUCE_PERCENTILE_05\n                                                - REDUCE_FRACTION_LESS_THAN\n                                                - REDUCE_MAKE_DISTRIBUTION\n                                              groupByFields:\n                                                type: array\n                                                x-dcl-go-name: GroupByFields\n                                                description: The set of fields to\n                                                  preserve when `cross_series_reducer`\n                                                  is specified. The `group_by_fields`\n                                                  determine how the time series are\n                                                  partitioned into subsets prior to\n                                                  applying the aggregation operation.\n                                                  Each subset contains time series\n                                                  that have the same value for each\n                                                  of the grouping fields. Each individual\n                                                  time series is a member of exactly\n                                                  one subset. The `cross_series_reducer`\n                                                  is applied to each subset of time\n                                                  series. It is not possible to reduce\n                                                  across different resource types,\n                                                  so this field implicitly contains\n                                                  `resource.type`.  Fields not specified\n                                                  in `group_by_fields` are aggregated\n                                                  away.  If `group_by_fields` is not\n                                                  specified and all the time series\n                                                  have the same resource type, then\n                                                  the time series are aggregated into\n                                                  a single output time series. If\n                                                  `cross_series_reducer` is not defined,\n                                                  this field is ignored.\n                                                x-dcl-send-empty: true\n                                                x-dcl-list-type: list\n                                                items:\n                                                  type: string\n                                                  x-dcl-go-type: string\n                                              perSeriesAligner:\n                                                type: string\n                                                x-dcl-go-name: PerSeriesAligner\n                                                x-dcl-go-type: DashboardWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum\n                                                description: An `Aligner` describes\n                                                  how to bring the data points in\n                                                  a single time series into temporal\n                                                  alignment. Except for `ALIGN_NONE`,\n                                                  all alignments cause all the data\n                                                  points in an `alignment_period`\n                                                  to be mathematically grouped together,\n                                                  resulting in a single data point\n                                                  for each `alignment_period` with\n                                                  end timestamp at the end of the\n                                                  period.  Not all alignment operations\n                                                  may be applied to all time series.\n                                                  The valid choices depend on the\n                                                  `metric_kind` and `value_type` of\n                                                  the original time series. Alignment\n                                                  can change the `metric_kind` or\n                                                  the `value_type` of the time series.  Time\n                                                  series data must be aligned in order\n                                                  to perform cross-time series reduction.\n                                                  If `cross_series_reducer` is specified,\n                                                  then `per_series_aligner` must be\n                                                  specified and not equal to `ALIGN_NONE`\n                                                  and `alignment_period` must be specified;\n                                                  otherwise, an error is returned.\n                                                enum:\n                                                - ALIGN_NONE\n                                                - ALIGN_DELTA\n                                                - ALIGN_RATE\n                                                - ALIGN_INTERPOLATE\n                                                - ALIGN_NEXT_OLDER\n                                                - ALIGN_MIN\n                                                - ALIGN_MAX\n                                                - ALIGN_MEAN\n                                                - ALIGN_COUNT\n                                                - ALIGN_SUM\n                                                - ALIGN_STDDEV\n                                                - ALIGN_COUNT_TRUE\n                                                - ALIGN_COUNT_FALSE\n                                                - ALIGN_FRACTION_TRUE\n                                                - ALIGN_PERCENTILE_99\n                                                - ALIGN_PERCENTILE_95\n                                                - ALIGN_PERCENTILE_50\n                                                - ALIGN_PERCENTILE_05\n                                                - ALIGN_MAKE_DISTRIBUTION\n                                                - ALIGN_PERCENT_CHANGE\n                                      timeSeriesQueryLanguage:\n                                        type: string\n                                        x-dcl-go-name: TimeSeriesQueryLanguage\n                                        description: A query used to fetch time series.\n                                      unitOverride:\n                                        type: string\n                                        x-dcl-go-name: UnitOverride\n                                        description: The unit of data contained in\n                                          fetched time series. If non-empty, this\n                                          unit will override any unit that accompanies\n                                          fetched data. The format is the same as\n                                          the [`unit`](https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.metricDescriptors)\n                                          field in `MetricDescriptor`.\n                            thresholds:\n                              type: array\n                              x-dcl-go-name: Thresholds\n                              description: Threshold lines drawn horizontally across\n                                the chart.\n                              x-dcl-send-empty: true\n                              x-dcl-list-type: list\n                              items:\n                                type: object\n                                x-dcl-go-type: DashboardWidgetXyChartThresholds\n                                properties:\n                                  color:\n                                    type: string\n                                    x-dcl-go-name: Color\n                                    x-dcl-go-type: DashboardWidgetXyChartThresholdsColorEnum\n                                    description: 'The state color for this threshold.\n                                      Color is not allowed in a XyChart. Possible\n                                      values: COLOR_UNSPECIFIED, GREY, BLUE, GREEN,\n                                      YELLOW, ORANGE, RED'\n                                    enum:\n                                    - COLOR_UNSPECIFIED\n                                    - GREY\n                                    - BLUE\n                                    - GREEN\n                                    - YELLOW\n                                    - ORANGE\n                                    - RED\n                                  direction:\n                                    type: string\n                                    x-dcl-go-name: Direction\n                                    x-dcl-go-type: DashboardWidgetXyChartThresholdsDirectionEnum\n                                    description: 'The direction for the current threshold.\n                                      Direction is not allowed in a XyChart. Possible\n                                      values: DIRECTION_UNSPECIFIED, ABOVE, BELOW'\n                                    enum:\n                                    - DIRECTION_UNSPECIFIED\n                                    - ABOVE\n                                    - BELOW\n                                  label:\n                                    type: string\n                                    x-dcl-go-name: Label\n                                    description: A label for the threshold.\n                                  value:\n                                    type: number\n                                    format: double\n                                    x-dcl-go-name: Value\n                                    description: The value of the threshold. The value\n                                      should be defined in the native scale of the\n                                      metric.\n                            timeshiftDuration:\n                              type: string\n                              x-dcl-go-name: TimeshiftDuration\n                              description: The duration used to display a comparison\n                                chart. A comparison chart simultaneously shows values\n                                from two similar-length time periods (e.g., week-over-week\n                                metrics). The duration must be positive, and it can\n                                only be applied to charts with data sets of LINE plot\n                                type.\n                            xAxis:\n                              type: object\n                              x-dcl-go-name: XAxis\n                              x-dcl-go-type: DashboardWidgetXyChartXAxis\n                              description: The properties applied to the X axis.\n                              properties:\n                                label:\n                                  type: string\n                                  x-dcl-go-name: Label\n                                  description: The label of the axis.\n                                scale:\n                                  type: string\n                                  x-dcl-go-name: Scale\n                                  x-dcl-go-type: DashboardWidgetXyChartXAxisScaleEnum\n                                  description: 'The axis scale. By default, a linear\n                                    scale is used. Possible values: SCALE_UNSPECIFIED,\n                                    LINEAR, LOG10'\n                                  enum:\n                                  - SCALE_UNSPECIFIED\n                                  - LINEAR\n                                  - LOG10\n                            yAxis:\n                              type: object\n                              x-dcl-go-name: YAxis\n                              x-dcl-go-type: DashboardWidgetXyChartYAxis\n                              description: The properties applied to the Y axis.\n                              properties:\n                                label:\n                                  type: string\n                                  x-dcl-go-name: Label\n                                  description: The label of the axis.\n                                scale:\n                                  type: string\n                                  x-dcl-go-name: Scale\n                                  x-dcl-go-type: DashboardWidgetXyChartYAxisScaleEnum\n                                  description: 'The axis scale. By default, a linear\n                                    scale is used. Possible values: SCALE_UNSPECIFIED,\n                                    LINEAR, LOG10'\n                                  enum:\n                                  - SCALE_UNSPECIFIED\n                                  - LINEAR\n                                  - LOG10\n        displayName:\n          type: string\n          x-dcl-go-name: DisplayName\n          description: Required. The mutable, human-readable name.\n        etag:\n          type: string\n          x-dcl-go-name: Etag\n          readOnly: true\n          description: \\`etag\\` is used for optimistic concurrency control as a way\n            to help prevent simultaneous updates of a policy from overwriting each\n            other. An \\`etag\\` is returned in the response to \\`GetDashboard\\`, and\n            users are expected to put that etag in the request to \\`UpdateDashboard\\`\n            to ensure that their change will be applied to the same version of the\n            Dashboard configuration. The field should not be passed during dashboard\n            creation.\n          x-kubernetes-immutable: true\n        gridLayout:\n          type: object\n          x-dcl-go-name: GridLayout\n          x-dcl-go-type: DashboardGridLayout\n          description: Content is arranged with a basic layout that re-flows a simple\n            list of informational elements like widgets or tiles.\n          x-dcl-conflicts:\n          - mosaicLayout\n          - rowLayout\n          - columnLayout\n          properties:\n            columns:\n              type: integer\n              format: int64\n              x-dcl-go-name: Columns\n              description: The number of columns into which the view's width is divided.\n                If omitted or set to zero, a system default will be used while rendering.\n            widgets:\n              type: array\n              x-dcl-go-name: Widgets\n              description: The informational elements that are arranged into the columns\n                row-first.\n              x-dcl-send-empty: true\n              x-dcl-list-type: list\n              items:\n                type: object\n                $ref: '#/components/schemas/Widget'\n                x-dcl-go-name: Widgets\n                x-dcl-go-type: DashboardWidget\n        mosaicLayout:\n          type: object\n          x-dcl-go-name: MosaicLayout\n          x-dcl-go-type: DashboardMosaicLayout\n          description: The content is arranged as a grid of tiles, with each content\n            widget occupying one or more tiles.\n          x-dcl-conflicts:\n          - gridLayout\n          - rowLayout\n          - columnLayout\n          properties:\n            columns:\n              type: integer\n              format: int64\n              x-dcl-go-name: Columns\n              description: The number of columns in the mosaic grid.\n            tiles:\n              type: array\n              x-dcl-go-name: Tiles\n              description: The tiles to display.\n              x-dcl-send-empty: true\n              x-dcl-list-type: list\n              items:\n                type: object\n                x-dcl-go-type: DashboardMosaicLayoutTiles\n                properties:\n                  height:\n                    type: integer\n                    format: int64\n                    x-dcl-go-name: Height\n                    description: The height of the tile, measured in grid squares.\n                  widget:\n                    $ref: '#/components/schemas/Widget'\n                    x-dcl-go-name: Widget\n                  width:\n                    type: integer\n                    format: int64\n                    x-dcl-go-name: Width\n                    description: The width of the tile, measured in grid squares.\n                  xPos:\n                    type: integer\n                    format: int64\n                    x-dcl-go-name: XPos\n                    description: The zero-indexed position of the tile in grid squares\n                      relative to the left edge of the grid.\n                  yPos:\n                    type: integer\n                    format: int64\n                    x-dcl-go-name: YPos\n                    description: The zero-indexed position of the tile in grid squares\n                      relative to the top edge of the grid.\n        name:\n          type: string\n          x-dcl-go-name: Name\n          description: Immutable. The resource name of the dashboard.\n          x-kubernetes-immutable: true\n        project:\n          type: string\n          x-dcl-go-name: Project\n          description: The project id of the resource.\n          x-kubernetes-immutable: true\n          x-dcl-references:\n          - resource: Cloudresourcemanager/Project\n            field: name\n            parent: true\n        rowLayout:\n          type: object\n          x-dcl-go-name: RowLayout\n          x-dcl-go-type: DashboardRowLayout\n          description: The content is divided into equally spaced rows and the widgets\n            are arranged horizontally.\n          x-dcl-conflicts:\n          - gridLayout\n          - mosaicLayout\n          - columnLayout\n          properties:\n            rows:\n              type: array\n              x-dcl-go-name: Rows\n              description: The rows of content to display.\n              x-dcl-send-empty: true\n              x-dcl-list-type: list\n              items:\n                type: object\n                x-dcl-go-type: DashboardRowLayoutRows\n                properties:\n                  weight:\n                    type: integer\n                    format: int64\n                    x-dcl-go-name: Weight\n                    description: The relative weight of this row. The row weight is\n                      used to adjust the height of rows on the screen (relative to\n                      peers). Greater the weight, greater the height of the row on\n                      the screen. If omitted, a value of 1 is used while rendering.\n                  widgets:\n                    type: array\n                    x-dcl-go-name: Widgets\n                    description: The display widgets arranged horizontally in this\n                      row.\n                    x-dcl-send-empty: true\n                    x-dcl-list-type: list\n                    items:\n                      type: object\n                      $ref: '#/components/schemas/Widget'\n                      x-dcl-go-name: Widgets\n                      x-dcl-go-type: DashboardWidget\n    Widget:\n      type: object\n      x-dcl-go-name: Widget\n      x-dcl-go-type: DashboardWidget\n      description: The informational widget contained in the tile.\n      properties:\n        blank:\n          type: object\n          x-dcl-go-name: Blank\n          x-dcl-go-type: DashboardWidgetBlank\n          description: A blank space.\n        scorecard:\n          type: object\n          x-dcl-go-name: Scorecard\n          x-dcl-go-type: DashboardWidgetScorecard\n          description: A scorecard summarizing time series data.\n          required:\n          - timeSeriesQuery\n          properties:\n            gaugeView:\n              type: object\n              x-dcl-go-name: GaugeView\n              x-dcl-go-type: DashboardWidgetScorecardGaugeView\n              description: Will cause the scorecard to show a gauge chart.\n              properties:\n                lowerBound:\n                  type: number\n                  format: double\n                  x-dcl-go-name: LowerBound\n                  description: The lower bound for this gauge chart. The value of\n                    the chart should always be greater than or equal to this.\n                upperBound:\n                  type: number\n                  format: double\n                  x-dcl-go-name: UpperBound\n                  description: The upper bound for this gauge chart. The value of\n                    the chart should always be less than or equal to this.\n            sparkChartView:\n              type: object\n              x-dcl-go-name: SparkChartView\n              x-dcl-go-type: DashboardWidgetScorecardSparkChartView\n              description: Will cause the scorecard to show a spark chart.\n              required:\n              - sparkChartType\n              properties:\n                minAlignmentPeriod:\n                  type: string\n                  x-dcl-go-name: MinAlignmentPeriod\n                  description: The lower bound on data point frequency in the chart\n                    implemented by specifying the minimum alignment period to use\n                    in a time series query. For example, if the data is published\n                    once every 10 minutes it would not make sense to fetch and align\n                    data at one minute intervals. This field is optional and exists\n                    only as a hint.\n                sparkChartType:\n                  type: string\n                  x-dcl-go-name: SparkChartType\n                  x-dcl-go-type: DashboardWidgetScorecardSparkChartViewSparkChartTypeEnum\n                  description: 'Required. The type of sparkchart to show in this chartView.\n                    Possible values: SPARK_CHART_TYPE_UNSPECIFIED, SPARK_LINE, SPARK_BAR'\n                  enum:\n                  - SPARK_CHART_TYPE_UNSPECIFIED\n                  - SPARK_LINE\n                  - SPARK_BAR\n            thresholds:\n              type: array\n              x-dcl-go-name: Thresholds\n              description: 'The thresholds used to determine the state of the scorecard\n                given the time series'' current value. For an actual value x, the\n                scorecard is in a danger state if x is less than or equal to a danger\n                threshold that triggers below, or greater than or equal to a danger\n                threshold that triggers above. Similarly, if x is above/below a warning\n                threshold that triggers above/below, then the scorecard is in a warning\n                state - unless x also puts it in a danger state. (Danger trumps warning.)  As\n                an example, consider a scorecard with the following four thresholds:\n                {   value: 90,   category: ''DANGER'',   trigger: ''ABOVE'', }, {   value:\n                70,   category: ''WARNING'',   trigger: ''ABOVE'', }, {   value: 10,   category:\n                ''DANGER'',   trigger: ''BELOW'', }, {   value: 20,   category: ''WARNING'',   trigger:\n                ''BELOW'', }  Then: values less than or equal to 10 would put the\n                scorecard in a DANGER state, values greater than 10 but less than\n                or equal to 20 a WARNING state, values strictly between 20 and 70\n                an OK state, values greater than or equal to 70 but less than 90 a\n                WARNING state, and values greater than or equal to 90 a DANGER state.'\n              x-dcl-send-empty: true\n              x-dcl-list-type: list\n              items:\n                type: object\n                x-dcl-go-type: DashboardWidgetScorecardThresholds\n                properties:\n                  color:\n                    type: string\n                    x-dcl-go-name: Color\n                    x-dcl-go-type: DashboardWidgetScorecardThresholdsColorEnum\n                    description: 'The state color for this threshold. Color is not\n                      allowed in a XyChart. Possible values: COLOR_UNSPECIFIED, GREY,\n                      BLUE, GREEN, YELLOW, ORANGE, RED'\n                    enum:\n                    - COLOR_UNSPECIFIED\n                    - GREY\n                    - BLUE\n                    - GREEN\n                    - YELLOW\n                    - ORANGE\n                    - RED\n                  direction:\n                    type: string\n                    x-dcl-go-name: Direction\n                    x-dcl-go-type: DashboardWidgetScorecardThresholdsDirectionEnum\n                    description: 'The direction for the current threshold. Direction\n                      is not allowed in a XyChart. Possible values: DIRECTION_UNSPECIFIED,\n                      ABOVE, BELOW'\n                    enum:\n                    - DIRECTION_UNSPECIFIED\n                    - ABOVE\n                    - BELOW\n                  label:\n                    type: string\n                    x-dcl-go-name: Label\n                    description: A label for the threshold.\n                  value:\n                    type: number\n                    format: double\n                    x-dcl-go-name: Value\n                    description: The value of the threshold. The value should be defined\n                      in the native scale of the metric.\n            timeSeriesQuery:\n              type: object\n              x-dcl-go-name: TimeSeriesQuery\n              x-dcl-go-type: DashboardWidgetScorecardTimeSeriesQuery\n              description: Required. Fields for querying time series data from the\n                Stackdriver metrics API.\n              properties:\n                timeSeriesFilter:\n                  type: object\n                  x-dcl-go-name: TimeSeriesFilter\n                  x-dcl-go-type: DashboardWidgetScorecardTimeSeriesQueryTimeSeriesFilter\n                  description: Filter parameters to fetch time series.\n                  required:\n                  - filter\n                  properties:\n                    aggregation:\n                      type: object\n                      x-dcl-go-name: Aggregation\n                      x-dcl-go-type: DashboardWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregation\n                      description: By default, the raw time series data is returned.\n                        Use this field to combine multiple time series for different\n                        views of the data.\n                      properties:\n                        alignmentPeriod:\n                          type: string\n                          x-dcl-go-name: AlignmentPeriod\n                          description: The `alignment_period` specifies a time interval,\n                            in seconds, that is used to divide the data in all the\n                            [time series][google.monitoring.v3.TimeSeries] into consistent\n                            blocks of time. This will be done before the per-series\n                            aligner can be applied to the data.  The value must be\n                            at least 60 seconds. If a per-series aligner other than\n                            `ALIGN_NONE` is specified, this field is required or an\n                            error is returned. If no per-series aligner is specified,\n                            or the aligner `ALIGN_NONE` is specified, then this field\n                            is ignored.\n                        crossSeriesReducer:\n                          type: string\n                          x-dcl-go-name: CrossSeriesReducer\n                          x-dcl-go-type: DashboardWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum\n                          description: 'The reduction operation to be used to combine\n                            time series into a single time series, where the value\n                            of each data point in the resulting series is a function\n                            of all the already aligned values in the input time series.  Not\n                            all reducer operations can be applied to all time series.\n                            The valid choices depend on the `metric_kind` and the\n                            `value_type` of the original time series. Reduction can\n                            yield a time series with a different `metric_kind` or\n                            `value_type` than the input time series.  Time series\n                            data must first be aligned (see `per_series_aligner`)\n                            in order to perform cross-time series reduction. If `cross_series_reducer`\n                            is specified, then `per_series_aligner` must be specified,\n                            and must not be `ALIGN_NONE`. An `alignment_period` must\n                            also be specified; otherwise, an error is returned. Possible\n                            values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX,\n                            REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE,\n                            REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,\n                            REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05,\n                            REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION'\n                          enum:\n                          - REDUCE_NONE\n                          - REDUCE_MEAN\n                          - REDUCE_MIN\n                          - REDUCE_MAX\n                          - REDUCE_SUM\n                          - REDUCE_STDDEV\n                          - REDUCE_COUNT\n                          - REDUCE_COUNT_TRUE\n                          - REDUCE_COUNT_FALSE\n                          - REDUCE_FRACTION_TRUE\n                          - REDUCE_PERCENTILE_99\n                          - REDUCE_PERCENTILE_95\n                          - REDUCE_PERCENTILE_50\n                          - REDUCE_PERCENTILE_05\n                          - REDUCE_FRACTION_LESS_THAN\n                          - REDUCE_MAKE_DISTRIBUTION\n                        groupByFields:\n                          type: array\n                          x-dcl-go-name: GroupByFields\n                          description: The set of fields to preserve when `cross_series_reducer`\n                            is specified. The `group_by_fields` determine how the\n                            time series are partitioned into subsets prior to applying\n                            the aggregation operation. Each subset contains time series\n                            that have the same value for each of the grouping fields.\n                            Each individual time series is a member of exactly one\n                            subset. The `cross_series_reducer` is applied to each\n                            subset of time series. It is not possible to reduce across\n                            different resource types, so this field implicitly contains\n                            `resource.type`.  Fields not specified in `group_by_fields`\n                            are aggregated away.  If `group_by_fields` is not specified\n                            and all the time series have the same resource type, then\n                            the time series are aggregated into a single output time\n                            series. If `cross_series_reducer` is not defined, this\n                            field is ignored.\n                          x-dcl-send-empty: true\n                          x-dcl-list-type: list\n                          items:\n                            type: string\n                            x-dcl-go-type: string\n                        perSeriesAligner:\n                          type: string\n                          x-dcl-go-name: PerSeriesAligner\n                          x-dcl-go-type: DashboardWidgetScorecardTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum\n                          description: An `Aligner` describes how to bring the data\n                            points in a single time series into temporal alignment.\n                            Except for `ALIGN_NONE`, all alignments cause all the\n                            data points in an `alignment_period` to be mathematically\n                            grouped together, resulting in a single data point for\n                            each `alignment_period` with end timestamp at the end\n                            of the period.  Not all alignment operations may be applied\n                            to all time series. The valid choices depend on the `metric_kind`\n                            and `value_type` of the original time series. Alignment\n                            can change the `metric_kind` or the `value_type` of the\n                            time series.  Time series data must be aligned in order\n                            to perform cross-time series reduction. If `cross_series_reducer`\n                            is specified, then `per_series_aligner` must be specified\n                            and not equal to `ALIGN_NONE` and `alignment_period` must\n                            be specified; otherwise, an error is returned.\n                          enum:\n                          - ALIGN_NONE\n                          - ALIGN_DELTA\n                          - ALIGN_RATE\n                          - ALIGN_INTERPOLATE\n                          - ALIGN_NEXT_OLDER\n                          - ALIGN_MIN\n                          - ALIGN_MAX\n                          - ALIGN_MEAN\n                          - ALIGN_COUNT\n                          - ALIGN_SUM\n                          - ALIGN_STDDEV\n                          - ALIGN_COUNT_TRUE\n                          - ALIGN_COUNT_FALSE\n                          - ALIGN_FRACTION_TRUE\n                          - ALIGN_PERCENTILE_99\n                          - ALIGN_PERCENTILE_95\n                          - ALIGN_PERCENTILE_50\n                          - ALIGN_PERCENTILE_05\n                          - ALIGN_MAKE_DISTRIBUTION\n                          - ALIGN_PERCENT_CHANGE\n                    filter:\n                      type: string\n                      x-dcl-go-name: Filter\n                      description: Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)\n                        that identifies the metric types, resources, and projects\n                        to query.\n                    pickTimeSeriesFilter:\n                      type: object\n                      x-dcl-go-name: PickTimeSeriesFilter\n                      x-dcl-go-type: DashboardWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter\n                      description: Ranking based time series filter.\n                      properties:\n                        direction:\n                          type: string\n                          x-dcl-go-name: Direction\n                          x-dcl-go-type: DashboardWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum\n                          description: 'How to use the ranking to select time series\n                            that pass through the filter. Possible values: DIRECTION_UNSPECIFIED,\n                            TOP, BOTTOM'\n                          enum:\n                          - DIRECTION_UNSPECIFIED\n                          - TOP\n                          - BOTTOM\n                        numTimeSeries:\n                          type: integer\n                          format: int64\n                          x-dcl-go-name: NumTimeSeries\n                          description: How many time series to allow to pass through\n                            the filter.\n                        rankingMethod:\n                          type: string\n                          x-dcl-go-name: RankingMethod\n                          x-dcl-go-type: DashboardWidgetScorecardTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum\n                          description: '`ranking_method` is applied to each time series\n                            independently to produce the value which will be used\n                            to compare the time series to other time series. Possible\n                            values: METHOD_UNSPECIFIED, METHOD_MEAN, METHOD_MAX, METHOD_MIN,\n                            METHOD_SUM, METHOD_LATEST'\n                          enum:\n                          - METHOD_UNSPECIFIED\n                          - METHOD_MEAN\n                          - METHOD_MAX\n                          - METHOD_MIN\n                          - METHOD_SUM\n                          - METHOD_LATEST\n                    secondaryAggregation:\n                      type: object\n                      x-dcl-go-name: SecondaryAggregation\n                      x-dcl-go-type: DashboardWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregation\n                      description: Apply a second aggregation after `aggregation`\n                        is applied.\n                      properties:\n                        alignmentPeriod:\n                          type: string\n                          x-dcl-go-name: AlignmentPeriod\n                          description: The `alignment_period` specifies a time interval,\n                            in seconds, that is used to divide the data in all the\n                            [time series][google.monitoring.v3.TimeSeries] into consistent\n                            blocks of time. This will be done before the per-series\n                            aligner can be applied to the data.  The value must be\n                            at least 60 seconds. If a per-series aligner other than\n                            `ALIGN_NONE` is specified, this field is required or an\n                            error is returned. If no per-series aligner is specified,\n                            or the aligner `ALIGN_NONE` is specified, then this field\n                            is ignored.\n                        crossSeriesReducer:\n                          type: string\n                          x-dcl-go-name: CrossSeriesReducer\n                          x-dcl-go-type: DashboardWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum\n                          description: 'The reduction operation to be used to combine\n                            time series into a single time series, where the value\n                            of each data point in the resulting series is a function\n                            of all the already aligned values in the input time series.  Not\n                            all reducer operations can be applied to all time series.\n                            The valid choices depend on the `metric_kind` and the\n                            `value_type` of the original time series. Reduction can\n                            yield a time series with a different `metric_kind` or\n                            `value_type` than the input time series.  Time series\n                            data must first be aligned (see `per_series_aligner`)\n                            in order to perform cross-time series reduction. If `cross_series_reducer`\n                            is specified, then `per_series_aligner` must be specified,\n                            and must not be `ALIGN_NONE`. An `alignment_period` must\n                            also be specified; otherwise, an error is returned. Possible\n                            values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX,\n                            REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE,\n                            REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,\n                            REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05,\n                            REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION'\n                          enum:\n                          - REDUCE_NONE\n                          - REDUCE_MEAN\n                          - REDUCE_MIN\n                          - REDUCE_MAX\n                          - REDUCE_SUM\n                          - REDUCE_STDDEV\n                          - REDUCE_COUNT\n                          - REDUCE_COUNT_TRUE\n                          - REDUCE_COUNT_FALSE\n                          - REDUCE_FRACTION_TRUE\n                          - REDUCE_PERCENTILE_99\n                          - REDUCE_PERCENTILE_95\n                          - REDUCE_PERCENTILE_50\n                          - REDUCE_PERCENTILE_05\n                          - REDUCE_FRACTION_LESS_THAN\n                          - REDUCE_MAKE_DISTRIBUTION\n                        groupByFields:\n                          type: array\n                          x-dcl-go-name: GroupByFields\n                          description: The set of fields to preserve when `cross_series_reducer`\n                            is specified. The `group_by_fields` determine how the\n                            time series are partitioned into subsets prior to applying\n                            the aggregation operation. Each subset contains time series\n                            that have the same value for each of the grouping fields.\n                            Each individual time series is a member of exactly one\n                            subset. The `cross_series_reducer` is applied to each\n                            subset of time series. It is not possible to reduce across\n                            different resource types, so this field implicitly contains\n                            `resource.type`.  Fields not specified in `group_by_fields`\n                            are aggregated away.  If `group_by_fields` is not specified\n                            and all the time series have the same resource type, then\n                            the time series are aggregated into a single output time\n                            series. If `cross_series_reducer` is not defined, this\n                            field is ignored.\n                          x-dcl-send-empty: true\n                          x-dcl-list-type: list\n                          items:\n                            type: string\n                            x-dcl-go-type: string\n                        perSeriesAligner:\n                          type: string\n                          x-dcl-go-name: PerSeriesAligner\n                          x-dcl-go-type: DashboardWidgetScorecardTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum\n                          description: An `Aligner` describes how to bring the data\n                            points in a single time series into temporal alignment.\n                            Except for `ALIGN_NONE`, all alignments cause all the\n                            data points in an `alignment_period` to be mathematically\n                            grouped together, resulting in a single data point for\n                            each `alignment_period` with end timestamp at the end\n                            of the period.  Not all alignment operations may be applied\n                            to all time series. The valid choices depend on the `metric_kind`\n                            and `value_type` of the original time series. Alignment\n                            can change the `metric_kind` or the `value_type` of the\n                            time series.  Time series data must be aligned in order\n                            to perform cross-time series reduction. If `cross_series_reducer`\n                            is specified, then `per_series_aligner` must be specified\n                            and not equal to `ALIGN_NONE` and `alignment_period` must\n                            be specified; otherwise, an error is returned.\n                          enum:\n                          - ALIGN_NONE\n                          - ALIGN_DELTA\n                          - ALIGN_RATE\n                          - ALIGN_INTERPOLATE\n                          - ALIGN_NEXT_OLDER\n                          - ALIGN_MIN\n                          - ALIGN_MAX\n                          - ALIGN_MEAN\n                          - ALIGN_COUNT\n                          - ALIGN_SUM\n                          - ALIGN_STDDEV\n                          - ALIGN_COUNT_TRUE\n                          - ALIGN_COUNT_FALSE\n                          - ALIGN_FRACTION_TRUE\n                          - ALIGN_PERCENTILE_99\n                          - ALIGN_PERCENTILE_95\n                          - ALIGN_PERCENTILE_50\n                          - ALIGN_PERCENTILE_05\n                          - ALIGN_MAKE_DISTRIBUTION\n                          - ALIGN_PERCENT_CHANGE\n                timeSeriesFilterRatio:\n                  type: object\n                  x-dcl-go-name: TimeSeriesFilterRatio\n                  x-dcl-go-type: DashboardWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatio\n                  description: Parameters to fetch a ratio between two time series\n                    filters.\n                  properties:\n                    denominator:\n                      type: object\n                      x-dcl-go-name: Denominator\n                      x-dcl-go-type: DashboardWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominator\n                      description: The denominator of the ratio.\n                      required:\n                      - filter\n                      properties:\n                        aggregation:\n                          type: object\n                          x-dcl-go-name: Aggregation\n                          x-dcl-go-type: DashboardWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation\n                          description: By default, the raw time series data is returned.\n                            Use this field to combine multiple time series for different\n                            views of the data.\n                          properties:\n                            alignmentPeriod:\n                              type: string\n                              x-dcl-go-name: AlignmentPeriod\n                              description: The `alignment_period` specifies a time\n                                interval, in seconds, that is used to divide the data\n                                in all the [time series][google.monitoring.v3.TimeSeries]\n                                into consistent blocks of time. This will be done\n                                before the per-series aligner can be applied to the\n                                data.  The value must be at least 60 seconds. If a\n                                per-series aligner other than `ALIGN_NONE` is specified,\n                                this field is required or an error is returned. If\n                                no per-series aligner is specified, or the aligner\n                                `ALIGN_NONE` is specified, then this field is ignored.\n                            crossSeriesReducer:\n                              type: string\n                              x-dcl-go-name: CrossSeriesReducer\n                              x-dcl-go-type: DashboardWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum\n                              description: 'The reduction operation to be used to\n                                combine time series into a single time series, where\n                                the value of each data point in the resulting series\n                                is a function of all the already aligned values in\n                                the input time series.  Not all reducer operations\n                                can be applied to all time series. The valid choices\n                                depend on the `metric_kind` and the `value_type` of\n                                the original time series. Reduction can yield a time\n                                series with a different `metric_kind` or `value_type`\n                                than the input time series.  Time series data must\n                                first be aligned (see `per_series_aligner`) in order\n                                to perform cross-time series reduction. If `cross_series_reducer`\n                                is specified, then `per_series_aligner` must be specified,\n                                and must not be `ALIGN_NONE`. An `alignment_period`\n                                must also be specified; otherwise, an error is returned.\n                                Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,\n                                REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT,\n                                REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE,\n                                REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,\n                                REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION'\n                              enum:\n                              - REDUCE_NONE\n                              - REDUCE_MEAN\n                              - REDUCE_MIN\n                              - REDUCE_MAX\n                              - REDUCE_SUM\n                              - REDUCE_STDDEV\n                              - REDUCE_COUNT\n                              - REDUCE_COUNT_TRUE\n                              - REDUCE_COUNT_FALSE\n                              - REDUCE_FRACTION_TRUE\n                              - REDUCE_PERCENTILE_99\n                              - REDUCE_PERCENTILE_95\n                              - REDUCE_PERCENTILE_50\n                              - REDUCE_PERCENTILE_05\n                              - REDUCE_FRACTION_LESS_THAN\n                              - REDUCE_MAKE_DISTRIBUTION\n                            groupByFields:\n                              type: array\n                              x-dcl-go-name: GroupByFields\n                              description: The set of fields to preserve when `cross_series_reducer`\n                                is specified. The `group_by_fields` determine how\n                                the time series are partitioned into subsets prior\n                                to applying the aggregation operation. Each subset\n                                contains time series that have the same value for\n                                each of the grouping fields. Each individual time\n                                series is a member of exactly one subset. The `cross_series_reducer`\n                                is applied to each subset of time series. It is not\n                                possible to reduce across different resource types,\n                                so this field implicitly contains `resource.type`.  Fields\n                                not specified in `group_by_fields` are aggregated\n                                away.  If `group_by_fields` is not specified and all\n                                the time series have the same resource type, then\n                                the time series are aggregated into a single output\n                                time series. If `cross_series_reducer` is not defined,\n                                this field is ignored.\n                              x-dcl-send-empty: true\n                              x-dcl-list-type: list\n                              items:\n                                type: string\n                                x-dcl-go-type: string\n                            perSeriesAligner:\n                              type: string\n                              x-dcl-go-name: PerSeriesAligner\n                              x-dcl-go-type: DashboardWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum\n                              description: An `Aligner` describes how to bring the\n                                data points in a single time series into temporal\n                                alignment. Except for `ALIGN_NONE`, all alignments\n                                cause all the data points in an `alignment_period`\n                                to be mathematically grouped together, resulting in\n                                a single data point for each `alignment_period` with\n                                end timestamp at the end of the period.  Not all alignment\n                                operations may be applied to all time series. The\n                                valid choices depend on the `metric_kind` and `value_type`\n                                of the original time series. Alignment can change\n                                the `metric_kind` or the `value_type` of the time\n                                series.  Time series data must be aligned in order\n                                to perform cross-time series reduction. If `cross_series_reducer`\n                                is specified, then `per_series_aligner` must be specified\n                                and not equal to `ALIGN_NONE` and `alignment_period`\n                                must be specified; otherwise, an error is returned.\n                              enum:\n                              - ALIGN_NONE\n                              - ALIGN_DELTA\n                              - ALIGN_RATE\n                              - ALIGN_INTERPOLATE\n                              - ALIGN_NEXT_OLDER\n                              - ALIGN_MIN\n                              - ALIGN_MAX\n                              - ALIGN_MEAN\n                              - ALIGN_COUNT\n                              - ALIGN_SUM\n                              - ALIGN_STDDEV\n                              - ALIGN_COUNT_TRUE\n                              - ALIGN_COUNT_FALSE\n                              - ALIGN_FRACTION_TRUE\n                              - ALIGN_PERCENTILE_99\n                              - ALIGN_PERCENTILE_95\n                              - ALIGN_PERCENTILE_50\n                              - ALIGN_PERCENTILE_05\n                              - ALIGN_MAKE_DISTRIBUTION\n                              - ALIGN_PERCENT_CHANGE\n                        filter:\n                          type: string\n                          x-dcl-go-name: Filter\n                          description: Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)\n                            that identifies the metric types, resources, and projects\n                            to query.\n                    numerator:\n                      type: object\n                      x-dcl-go-name: Numerator\n                      x-dcl-go-type: DashboardWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumerator\n                      description: The numerator of the ratio.\n                      required:\n                      - filter\n                      properties:\n                        aggregation:\n                          type: object\n                          x-dcl-go-name: Aggregation\n                          x-dcl-go-type: DashboardWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation\n                          description: By default, the raw time series data is returned.\n                            Use this field to combine multiple time series for different\n                            views of the data.\n                          properties:\n                            alignmentPeriod:\n                              type: string\n                              x-dcl-go-name: AlignmentPeriod\n                              description: The `alignment_period` specifies a time\n                                interval, in seconds, that is used to divide the data\n                                in all the [time series][google.monitoring.v3.TimeSeries]\n                                into consistent blocks of time. This will be done\n                                before the per-series aligner can be applied to the\n                                data.  The value must be at least 60 seconds. If a\n                                per-series aligner other than `ALIGN_NONE` is specified,\n                                this field is required or an error is returned. If\n                                no per-series aligner is specified, or the aligner\n                                `ALIGN_NONE` is specified, then this field is ignored.\n                            crossSeriesReducer:\n                              type: string\n                              x-dcl-go-name: CrossSeriesReducer\n                              x-dcl-go-type: DashboardWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum\n                              description: 'The reduction operation to be used to\n                                combine time series into a single time series, where\n                                the value of each data point in the resulting series\n                                is a function of all the already aligned values in\n                                the input time series.  Not all reducer operations\n                                can be applied to all time series. The valid choices\n                                depend on the `metric_kind` and the `value_type` of\n                                the original time series. Reduction can yield a time\n                                series with a different `metric_kind` or `value_type`\n                                than the input time series.  Time series data must\n                                first be aligned (see `per_series_aligner`) in order\n                                to perform cross-time series reduction. If `cross_series_reducer`\n                                is specified, then `per_series_aligner` must be specified,\n                                and must not be `ALIGN_NONE`. An `alignment_period`\n                                must also be specified; otherwise, an error is returned.\n                                Possible values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN,\n                                REDUCE_MAX, REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT,\n                                REDUCE_COUNT_TRUE, REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE,\n                                REDUCE_PERCENTILE_99, REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,\n                                REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION'\n                              enum:\n                              - REDUCE_NONE\n                              - REDUCE_MEAN\n                              - REDUCE_MIN\n                              - REDUCE_MAX\n                              - REDUCE_SUM\n                              - REDUCE_STDDEV\n                              - REDUCE_COUNT\n                              - REDUCE_COUNT_TRUE\n                              - REDUCE_COUNT_FALSE\n                              - REDUCE_FRACTION_TRUE\n                              - REDUCE_PERCENTILE_99\n                              - REDUCE_PERCENTILE_95\n                              - REDUCE_PERCENTILE_50\n                              - REDUCE_PERCENTILE_05\n                              - REDUCE_FRACTION_LESS_THAN\n                              - REDUCE_MAKE_DISTRIBUTION\n                            groupByFields:\n                              type: array\n                              x-dcl-go-name: GroupByFields\n                              description: The set of fields to preserve when `cross_series_reducer`\n                                is specified. The `group_by_fields` determine how\n                                the time series are partitioned into subsets prior\n                                to applying the aggregation operation. Each subset\n                                contains time series that have the same value for\n                                each of the grouping fields. Each individual time\n                                series is a member of exactly one subset. The `cross_series_reducer`\n                                is applied to each subset of time series. It is not\n                                possible to reduce across different resource types,\n                                so this field implicitly contains `resource.type`.  Fields\n                                not specified in `group_by_fields` are aggregated\n                                away.  If `group_by_fields` is not specified and all\n                                the time series have the same resource type, then\n                                the time series are aggregated into a single output\n                                time series. If `cross_series_reducer` is not defined,\n                                this field is ignored.\n                              x-dcl-send-empty: true\n                              x-dcl-list-type: list\n                              items:\n                                type: string\n                                x-dcl-go-type: string\n                            perSeriesAligner:\n                              type: string\n                              x-dcl-go-name: PerSeriesAligner\n                              x-dcl-go-type: DashboardWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum\n                              description: An `Aligner` describes how to bring the\n                                data points in a single time series into temporal\n                                alignment. Except for `ALIGN_NONE`, all alignments\n                                cause all the data points in an `alignment_period`\n                                to be mathematically grouped together, resulting in\n                                a single data point for each `alignment_period` with\n                                end timestamp at the end of the period.  Not all alignment\n                                operations may be applied to all time series. The\n                                valid choices depend on the `metric_kind` and `value_type`\n                                of the original time series. Alignment can change\n                                the `metric_kind` or the `value_type` of the time\n                                series.  Time series data must be aligned in order\n                                to perform cross-time series reduction. If `cross_series_reducer`\n                                is specified, then `per_series_aligner` must be specified\n                                and not equal to `ALIGN_NONE` and `alignment_period`\n                                must be specified; otherwise, an error is returned.\n                              enum:\n                              - ALIGN_NONE\n                              - ALIGN_DELTA\n                              - ALIGN_RATE\n                              - ALIGN_INTERPOLATE\n                              - ALIGN_NEXT_OLDER\n                              - ALIGN_MIN\n                              - ALIGN_MAX\n                              - ALIGN_MEAN\n                              - ALIGN_COUNT\n                              - ALIGN_SUM\n                              - ALIGN_STDDEV\n                              - ALIGN_COUNT_TRUE\n                              - ALIGN_COUNT_FALSE\n                              - ALIGN_FRACTION_TRUE\n                              - ALIGN_PERCENTILE_99\n                              - ALIGN_PERCENTILE_95\n                              - ALIGN_PERCENTILE_50\n                              - ALIGN_PERCENTILE_05\n                              - ALIGN_MAKE_DISTRIBUTION\n                              - ALIGN_PERCENT_CHANGE\n                        filter:\n                          type: string\n                          x-dcl-go-name: Filter\n                          description: Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)\n                            that identifies the metric types, resources, and projects\n                            to query.\n                    pickTimeSeriesFilter:\n                      type: object\n                      x-dcl-go-name: PickTimeSeriesFilter\n                      x-dcl-go-type: DashboardWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter\n                      description: Ranking based time series filter.\n                      properties:\n                        direction:\n                          type: string\n                          x-dcl-go-name: Direction\n                          x-dcl-go-type: DashboardWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum\n                          description: 'How to use the ranking to select time series\n                            that pass through the filter. Possible values: DIRECTION_UNSPECIFIED,\n                            TOP, BOTTOM'\n                          enum:\n                          - DIRECTION_UNSPECIFIED\n                          - TOP\n                          - BOTTOM\n                        numTimeSeries:\n                          type: integer\n                          format: int64\n                          x-dcl-go-name: NumTimeSeries\n                          description: How many time series to allow to pass through\n                            the filter.\n                        rankingMethod:\n                          type: string\n                          x-dcl-go-name: RankingMethod\n                          x-dcl-go-type: DashboardWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum\n                          description: '`ranking_method` is applied to each time series\n                            independently to produce the value which will be used\n                            to compare the time series to other time series. Possible\n                            values: METHOD_UNSPECIFIED, METHOD_MEAN, METHOD_MAX, METHOD_MIN,\n                            METHOD_SUM, METHOD_LATEST'\n                          enum:\n                          - METHOD_UNSPECIFIED\n                          - METHOD_MEAN\n                          - METHOD_MAX\n                          - METHOD_MIN\n                          - METHOD_SUM\n                          - METHOD_LATEST\n                    secondaryAggregation:\n                      type: object\n                      x-dcl-go-name: SecondaryAggregation\n                      x-dcl-go-type: DashboardWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation\n                      description: Apply a second aggregation after the ratio is computed.\n                      properties:\n                        alignmentPeriod:\n                          type: string\n                          x-dcl-go-name: AlignmentPeriod\n                          description: The `alignment_period` specifies a time interval,\n                            in seconds, that is used to divide the data in all the\n                            [time series][google.monitoring.v3.TimeSeries] into consistent\n                            blocks of time. This will be done before the per-series\n                            aligner can be applied to the data.  The value must be\n                            at least 60 seconds. If a per-series aligner other than\n                            `ALIGN_NONE` is specified, this field is required or an\n                            error is returned. If no per-series aligner is specified,\n                            or the aligner `ALIGN_NONE` is specified, then this field\n                            is ignored.\n                        crossSeriesReducer:\n                          type: string\n                          x-dcl-go-name: CrossSeriesReducer\n                          x-dcl-go-type: DashboardWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum\n                          description: 'The reduction operation to be used to combine\n                            time series into a single time series, where the value\n                            of each data point in the resulting series is a function\n                            of all the already aligned values in the input time series.  Not\n                            all reducer operations can be applied to all time series.\n                            The valid choices depend on the `metric_kind` and the\n                            `value_type` of the original time series. Reduction can\n                            yield a time series with a different `metric_kind` or\n                            `value_type` than the input time series.  Time series\n                            data must first be aligned (see `per_series_aligner`)\n                            in order to perform cross-time series reduction. If `cross_series_reducer`\n                            is specified, then `per_series_aligner` must be specified,\n                            and must not be `ALIGN_NONE`. An `alignment_period` must\n                            also be specified; otherwise, an error is returned. Possible\n                            values: REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX,\n                            REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE,\n                            REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,\n                            REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05,\n                            REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION'\n                          enum:\n                          - REDUCE_NONE\n                          - REDUCE_MEAN\n                          - REDUCE_MIN\n                          - REDUCE_MAX\n                          - REDUCE_SUM\n                          - REDUCE_STDDEV\n                          - REDUCE_COUNT\n                          - REDUCE_COUNT_TRUE\n                          - REDUCE_COUNT_FALSE\n                          - REDUCE_FRACTION_TRUE\n                          - REDUCE_PERCENTILE_99\n                          - REDUCE_PERCENTILE_95\n                          - REDUCE_PERCENTILE_50\n                          - REDUCE_PERCENTILE_05\n                          - REDUCE_FRACTION_LESS_THAN\n                          - REDUCE_MAKE_DISTRIBUTION\n                        groupByFields:\n                          type: array\n                          x-dcl-go-name: GroupByFields\n                          description: The set of fields to preserve when `cross_series_reducer`\n                            is specified. The `group_by_fields` determine how the\n                            time series are partitioned into subsets prior to applying\n                            the aggregation operation. Each subset contains time series\n                            that have the same value for each of the grouping fields.\n                            Each individual time series is a member of exactly one\n                            subset. The `cross_series_reducer` is applied to each\n                            subset of time series. It is not possible to reduce across\n                            different resource types, so this field implicitly contains\n                            `resource.type`.  Fields not specified in `group_by_fields`\n                            are aggregated away.  If `group_by_fields` is not specified\n                            and all the time series have the same resource type, then\n                            the time series are aggregated into a single output time\n                            series. If `cross_series_reducer` is not defined, this\n                            field is ignored.\n                          x-dcl-send-empty: true\n                          x-dcl-list-type: list\n                          items:\n                            type: string\n                            x-dcl-go-type: string\n                        perSeriesAligner:\n                          type: string\n                          x-dcl-go-name: PerSeriesAligner\n                          x-dcl-go-type: DashboardWidgetScorecardTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum\n                          description: An `Aligner` describes how to bring the data\n                            points in a single time series into temporal alignment.\n                            Except for `ALIGN_NONE`, all alignments cause all the\n                            data points in an `alignment_period` to be mathematically\n                            grouped together, resulting in a single data point for\n                            each `alignment_period` with end timestamp at the end\n                            of the period.  Not all alignment operations may be applied\n                            to all time series. The valid choices depend on the `metric_kind`\n                            and `value_type` of the original time series. Alignment\n                            can change the `metric_kind` or the `value_type` of the\n                            time series.  Time series data must be aligned in order\n                            to perform cross-time series reduction. If `cross_series_reducer`\n                            is specified, then `per_series_aligner` must be specified\n                            and not equal to `ALIGN_NONE` and `alignment_period` must\n                            be specified; otherwise, an error is returned.\n                          enum:\n                          - ALIGN_NONE\n                          - ALIGN_DELTA\n                          - ALIGN_RATE\n                          - ALIGN_INTERPOLATE\n                          - ALIGN_NEXT_OLDER\n                          - ALIGN_MIN\n                          - ALIGN_MAX\n                          - ALIGN_MEAN\n                          - ALIGN_COUNT\n                          - ALIGN_SUM\n                          - ALIGN_STDDEV\n                          - ALIGN_COUNT_TRUE\n                          - ALIGN_COUNT_FALSE\n                          - ALIGN_FRACTION_TRUE\n                          - ALIGN_PERCENTILE_99\n                          - ALIGN_PERCENTILE_95\n                          - ALIGN_PERCENTILE_50\n                          - ALIGN_PERCENTILE_05\n                          - ALIGN_MAKE_DISTRIBUTION\n                          - ALIGN_PERCENT_CHANGE\n                timeSeriesQueryLanguage:\n                  type: string\n                  x-dcl-go-name: TimeSeriesQueryLanguage\n                  description: A query used to fetch time series.\n                unitOverride:\n                  type: string\n                  x-dcl-go-name: UnitOverride\n                  description: The unit of data contained in fetched time series.\n                    If non-empty, this unit will override any unit that accompanies\n                    fetched data. The format is the same as the [`unit`](https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.metricDescriptors)\n                    field in `MetricDescriptor`.\n        text:\n          type: object\n          x-dcl-go-name: Text\n          x-dcl-go-type: DashboardWidgetText\n          description: A raw string or markdown displaying textual content.\n          properties:\n            content:\n              type: string\n              x-dcl-go-name: Content\n              description: The text content to be displayed.\n            format:\n              type: string\n              x-dcl-go-name: Format\n              x-dcl-go-type: DashboardWidgetTextFormatEnum\n              description: 'How the text content is formatted. Possible values: FORMAT_UNSPECIFIED,\n                MARKDOWN, RAW'\n              enum:\n              - FORMAT_UNSPECIFIED\n              - MARKDOWN\n              - RAW\n        title:\n          type: string\n          x-dcl-go-name: Title\n          description: Optional. The title of the widget.\n        xyChart:\n          type: object\n          x-dcl-go-name: XyChart\n          x-dcl-go-type: DashboardWidgetXyChart\n          description: A chart of time series data.\n          required:\n          - dataSets\n          properties:\n            chartOptions:\n              type: object\n              x-dcl-go-name: ChartOptions\n              x-dcl-go-type: DashboardWidgetXyChartChartOptions\n              description: Display options for the chart.\n              properties:\n                mode:\n                  type: string\n                  x-dcl-go-name: Mode\n                  x-dcl-go-type: DashboardWidgetXyChartChartOptionsModeEnum\n                  description: 'The chart mode. Possible values: MODE_UNSPECIFIED,\n                    COLOR, X_RAY, STATS'\n                  enum:\n                  - MODE_UNSPECIFIED\n                  - COLOR\n                  - X_RAY\n                  - STATS\n            dataSets:\n              type: array\n              x-dcl-go-name: DataSets\n              description: Required. The data displayed in this chart.\n              x-dcl-send-empty: true\n              x-dcl-list-type: list\n              items:\n                type: object\n                x-dcl-go-type: DashboardWidgetXyChartDataSets\n                required:\n                - timeSeriesQuery\n                properties:\n                  legendTemplate:\n                    type: string\n                    x-dcl-go-name: LegendTemplate\n                    description: 'A template string for naming `TimeSeries` in the\n                      resulting data set. This should be a string with interpolations\n                      of the form `${label_name}`, which will resolve to the label''s\n                      value. '\n                  minAlignmentPeriod:\n                    type: string\n                    x-dcl-go-name: MinAlignmentPeriod\n                    description: Optional. The lower bound on data point frequency\n                      for this data set, implemented by specifying the minimum alignment\n                      period to use in a time series query For example, if the data\n                      is published once every 10 minutes, the `min_alignment_period`\n                      should be at least 10 minutes. It would not make sense to fetch\n                      and align data at one minute intervals.\n                  plotType:\n                    type: string\n                    x-dcl-go-name: PlotType\n                    x-dcl-go-type: DashboardWidgetXyChartDataSetsPlotTypeEnum\n                    description: 'How this data should be plotted on the chart. Possible\n                      values: PLOT_TYPE_UNSPECIFIED, LINE, STACKED_AREA, STACKED_BAR,\n                      HEATMAP'\n                    enum:\n                    - PLOT_TYPE_UNSPECIFIED\n                    - LINE\n                    - STACKED_AREA\n                    - STACKED_BAR\n                    - HEATMAP\n                  timeSeriesQuery:\n                    type: object\n                    x-dcl-go-name: TimeSeriesQuery\n                    x-dcl-go-type: DashboardWidgetXyChartDataSetsTimeSeriesQuery\n                    description: Required. Fields for querying time series data from\n                      the Stackdriver metrics API.\n                    properties:\n                      timeSeriesFilter:\n                        type: object\n                        x-dcl-go-name: TimeSeriesFilter\n                        x-dcl-go-type: DashboardWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilter\n                        description: Filter parameters to fetch time series.\n                        required:\n                        - filter\n                        properties:\n                          aggregation:\n                            type: object\n                            x-dcl-go-name: Aggregation\n                            x-dcl-go-type: DashboardWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregation\n                            description: By default, the raw time series data is returned.\n                              Use this field to combine multiple time series for different\n                              views of the data.\n                            properties:\n                              alignmentPeriod:\n                                type: string\n                                x-dcl-go-name: AlignmentPeriod\n                                description: The `alignment_period` specifies a time\n                                  interval, in seconds, that is used to divide the\n                                  data in all the [time series][google.monitoring.v3.TimeSeries]\n                                  into consistent blocks of time. This will be done\n                                  before the per-series aligner can be applied to\n                                  the data.  The value must be at least 60 seconds.\n                                  If a per-series aligner other than `ALIGN_NONE`\n                                  is specified, this field is required or an error\n                                  is returned. If no per-series aligner is specified,\n                                  or the aligner `ALIGN_NONE` is specified, then this\n                                  field is ignored.\n                              crossSeriesReducer:\n                                type: string\n                                x-dcl-go-name: CrossSeriesReducer\n                                x-dcl-go-type: DashboardWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationCrossSeriesReducerEnum\n                                description: 'The reduction operation to be used to\n                                  combine time series into a single time series, where\n                                  the value of each data point in the resulting series\n                                  is a function of all the already aligned values\n                                  in the input time series.  Not all reducer operations\n                                  can be applied to all time series. The valid choices\n                                  depend on the `metric_kind` and the `value_type`\n                                  of the original time series. Reduction can yield\n                                  a time series with a different `metric_kind` or\n                                  `value_type` than the input time series.  Time series\n                                  data must first be aligned (see `per_series_aligner`)\n                                  in order to perform cross-time series reduction.\n                                  If `cross_series_reducer` is specified, then `per_series_aligner`\n                                  must be specified, and must not be `ALIGN_NONE`.\n                                  An `alignment_period` must also be specified; otherwise,\n                                  an error is returned. Possible values: REDUCE_NONE,\n                                  REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM,\n                                  REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE,\n                                  REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,\n                                  REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05,\n                                  REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION'\n                                enum:\n                                - REDUCE_NONE\n                                - REDUCE_MEAN\n                                - REDUCE_MIN\n                                - REDUCE_MAX\n                                - REDUCE_SUM\n                                - REDUCE_STDDEV\n                                - REDUCE_COUNT\n                                - REDUCE_COUNT_TRUE\n                                - REDUCE_COUNT_FALSE\n                                - REDUCE_FRACTION_TRUE\n                                - REDUCE_PERCENTILE_99\n                                - REDUCE_PERCENTILE_95\n                                - REDUCE_PERCENTILE_50\n                                - REDUCE_PERCENTILE_05\n                                - REDUCE_FRACTION_LESS_THAN\n                                - REDUCE_MAKE_DISTRIBUTION\n                              groupByFields:\n                                type: array\n                                x-dcl-go-name: GroupByFields\n                                description: The set of fields to preserve when `cross_series_reducer`\n                                  is specified. The `group_by_fields` determine how\n                                  the time series are partitioned into subsets prior\n                                  to applying the aggregation operation. Each subset\n                                  contains time series that have the same value for\n                                  each of the grouping fields. Each individual time\n                                  series is a member of exactly one subset. The `cross_series_reducer`\n                                  is applied to each subset of time series. It is\n                                  not possible to reduce across different resource\n                                  types, so this field implicitly contains `resource.type`.  Fields\n                                  not specified in `group_by_fields` are aggregated\n                                  away.  If `group_by_fields` is not specified and\n                                  all the time series have the same resource type,\n                                  then the time series are aggregated into a single\n                                  output time series. If `cross_series_reducer` is\n                                  not defined, this field is ignored.\n                                x-dcl-send-empty: true\n                                x-dcl-list-type: list\n                                items:\n                                  type: string\n                                  x-dcl-go-type: string\n                              perSeriesAligner:\n                                type: string\n                                x-dcl-go-name: PerSeriesAligner\n                                x-dcl-go-type: DashboardWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterAggregationPerSeriesAlignerEnum\n                                description: An `Aligner` describes how to bring the\n                                  data points in a single time series into temporal\n                                  alignment. Except for `ALIGN_NONE`, all alignments\n                                  cause all the data points in an `alignment_period`\n                                  to be mathematically grouped together, resulting\n                                  in a single data point for each `alignment_period`\n                                  with end timestamp at the end of the period.  Not\n                                  all alignment operations may be applied to all time\n                                  series. The valid choices depend on the `metric_kind`\n                                  and `value_type` of the original time series. Alignment\n                                  can change the `metric_kind` or the `value_type`\n                                  of the time series.  Time series data must be aligned\n                                  in order to perform cross-time series reduction.\n                                  If `cross_series_reducer` is specified, then `per_series_aligner`\n                                  must be specified and not equal to `ALIGN_NONE`\n                                  and `alignment_period` must be specified; otherwise,\n                                  an error is returned.\n                                enum:\n                                - ALIGN_NONE\n                                - ALIGN_DELTA\n                                - ALIGN_RATE\n                                - ALIGN_INTERPOLATE\n                                - ALIGN_NEXT_OLDER\n                                - ALIGN_MIN\n                                - ALIGN_MAX\n                                - ALIGN_MEAN\n                                - ALIGN_COUNT\n                                - ALIGN_SUM\n                                - ALIGN_STDDEV\n                                - ALIGN_COUNT_TRUE\n                                - ALIGN_COUNT_FALSE\n                                - ALIGN_FRACTION_TRUE\n                                - ALIGN_PERCENTILE_99\n                                - ALIGN_PERCENTILE_95\n                                - ALIGN_PERCENTILE_50\n                                - ALIGN_PERCENTILE_05\n                                - ALIGN_MAKE_DISTRIBUTION\n                                - ALIGN_PERCENT_CHANGE\n                          filter:\n                            type: string\n                            x-dcl-go-name: Filter\n                            description: Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)\n                              that identifies the metric types, resources, and projects\n                              to query.\n                          pickTimeSeriesFilter:\n                            type: object\n                            x-dcl-go-name: PickTimeSeriesFilter\n                            x-dcl-go-type: DashboardWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilter\n                            description: Ranking based time series filter.\n                            properties:\n                              direction:\n                                type: string\n                                x-dcl-go-name: Direction\n                                x-dcl-go-type: DashboardWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterDirectionEnum\n                                description: 'How to use the ranking to select time\n                                  series that pass through the filter. Possible values:\n                                  DIRECTION_UNSPECIFIED, TOP, BOTTOM'\n                                enum:\n                                - DIRECTION_UNSPECIFIED\n                                - TOP\n                                - BOTTOM\n                              numTimeSeries:\n                                type: integer\n                                format: int64\n                                x-dcl-go-name: NumTimeSeries\n                                description: How many time series to allow to pass\n                                  through the filter.\n                              rankingMethod:\n                                type: string\n                                x-dcl-go-name: RankingMethod\n                                x-dcl-go-type: DashboardWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterPickTimeSeriesFilterRankingMethodEnum\n                                description: '`ranking_method` is applied to each\n                                  time series independently to produce the value which\n                                  will be used to compare the time series to other\n                                  time series. Possible values: METHOD_UNSPECIFIED,\n                                  METHOD_MEAN, METHOD_MAX, METHOD_MIN, METHOD_SUM,\n                                  METHOD_LATEST'\n                                enum:\n                                - METHOD_UNSPECIFIED\n                                - METHOD_MEAN\n                                - METHOD_MAX\n                                - METHOD_MIN\n                                - METHOD_SUM\n                                - METHOD_LATEST\n                          secondaryAggregation:\n                            type: object\n                            x-dcl-go-name: SecondaryAggregation\n                            x-dcl-go-type: DashboardWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregation\n                            description: Apply a second aggregation after `aggregation`\n                              is applied.\n                            properties:\n                              alignmentPeriod:\n                                type: string\n                                x-dcl-go-name: AlignmentPeriod\n                                description: The `alignment_period` specifies a time\n                                  interval, in seconds, that is used to divide the\n                                  data in all the [time series][google.monitoring.v3.TimeSeries]\n                                  into consistent blocks of time. This will be done\n                                  before the per-series aligner can be applied to\n                                  the data.  The value must be at least 60 seconds.\n                                  If a per-series aligner other than `ALIGN_NONE`\n                                  is specified, this field is required or an error\n                                  is returned. If no per-series aligner is specified,\n                                  or the aligner `ALIGN_NONE` is specified, then this\n                                  field is ignored.\n                              crossSeriesReducer:\n                                type: string\n                                x-dcl-go-name: CrossSeriesReducer\n                                x-dcl-go-type: DashboardWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationCrossSeriesReducerEnum\n                                description: 'The reduction operation to be used to\n                                  combine time series into a single time series, where\n                                  the value of each data point in the resulting series\n                                  is a function of all the already aligned values\n                                  in the input time series.  Not all reducer operations\n                                  can be applied to all time series. The valid choices\n                                  depend on the `metric_kind` and the `value_type`\n                                  of the original time series. Reduction can yield\n                                  a time series with a different `metric_kind` or\n                                  `value_type` than the input time series.  Time series\n                                  data must first be aligned (see `per_series_aligner`)\n                                  in order to perform cross-time series reduction.\n                                  If `cross_series_reducer` is specified, then `per_series_aligner`\n                                  must be specified, and must not be `ALIGN_NONE`.\n                                  An `alignment_period` must also be specified; otherwise,\n                                  an error is returned. Possible values: REDUCE_NONE,\n                                  REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM,\n                                  REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE,\n                                  REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,\n                                  REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05,\n                                  REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION'\n                                enum:\n                                - REDUCE_NONE\n                                - REDUCE_MEAN\n                                - REDUCE_MIN\n                                - REDUCE_MAX\n                                - REDUCE_SUM\n                                - REDUCE_STDDEV\n                                - REDUCE_COUNT\n                                - REDUCE_COUNT_TRUE\n                                - REDUCE_COUNT_FALSE\n                                - REDUCE_FRACTION_TRUE\n                                - REDUCE_PERCENTILE_99\n                                - REDUCE_PERCENTILE_95\n                                - REDUCE_PERCENTILE_50\n                                - REDUCE_PERCENTILE_05\n                                - REDUCE_FRACTION_LESS_THAN\n                                - REDUCE_MAKE_DISTRIBUTION\n                              groupByFields:\n                                type: array\n                                x-dcl-go-name: GroupByFields\n                                description: The set of fields to preserve when `cross_series_reducer`\n                                  is specified. The `group_by_fields` determine how\n                                  the time series are partitioned into subsets prior\n                                  to applying the aggregation operation. Each subset\n                                  contains time series that have the same value for\n                                  each of the grouping fields. Each individual time\n                                  series is a member of exactly one subset. The `cross_series_reducer`\n                                  is applied to each subset of time series. It is\n                                  not possible to reduce across different resource\n                                  types, so this field implicitly contains `resource.type`.  Fields\n                                  not specified in `group_by_fields` are aggregated\n                                  away.  If `group_by_fields` is not specified and\n                                  all the time series have the same resource type,\n                                  then the time series are aggregated into a single\n                                  output time series. If `cross_series_reducer` is\n                                  not defined, this field is ignored.\n                                x-dcl-send-empty: true\n                                x-dcl-list-type: list\n                                items:\n                                  type: string\n                                  x-dcl-go-type: string\n                              perSeriesAligner:\n                                type: string\n                                x-dcl-go-name: PerSeriesAligner\n                                x-dcl-go-type: DashboardWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterSecondaryAggregationPerSeriesAlignerEnum\n                                description: An `Aligner` describes how to bring the\n                                  data points in a single time series into temporal\n                                  alignment. Except for `ALIGN_NONE`, all alignments\n                                  cause all the data points in an `alignment_period`\n                                  to be mathematically grouped together, resulting\n                                  in a single data point for each `alignment_period`\n                                  with end timestamp at the end of the period.  Not\n                                  all alignment operations may be applied to all time\n                                  series. The valid choices depend on the `metric_kind`\n                                  and `value_type` of the original time series. Alignment\n                                  can change the `metric_kind` or the `value_type`\n                                  of the time series.  Time series data must be aligned\n                                  in order to perform cross-time series reduction.\n                                  If `cross_series_reducer` is specified, then `per_series_aligner`\n                                  must be specified and not equal to `ALIGN_NONE`\n                                  and `alignment_period` must be specified; otherwise,\n                                  an error is returned.\n                                enum:\n                                - ALIGN_NONE\n                                - ALIGN_DELTA\n                                - ALIGN_RATE\n                                - ALIGN_INTERPOLATE\n                                - ALIGN_NEXT_OLDER\n                                - ALIGN_MIN\n                                - ALIGN_MAX\n                                - ALIGN_MEAN\n                                - ALIGN_COUNT\n                                - ALIGN_SUM\n                                - ALIGN_STDDEV\n                                - ALIGN_COUNT_TRUE\n                                - ALIGN_COUNT_FALSE\n                                - ALIGN_FRACTION_TRUE\n                                - ALIGN_PERCENTILE_99\n                                - ALIGN_PERCENTILE_95\n                                - ALIGN_PERCENTILE_50\n                                - ALIGN_PERCENTILE_05\n                                - ALIGN_MAKE_DISTRIBUTION\n                                - ALIGN_PERCENT_CHANGE\n                      timeSeriesFilterRatio:\n                        type: object\n                        x-dcl-go-name: TimeSeriesFilterRatio\n                        x-dcl-go-type: DashboardWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatio\n                        description: Parameters to fetch a ratio between two time\n                          series filters.\n                        properties:\n                          denominator:\n                            type: object\n                            x-dcl-go-name: Denominator\n                            x-dcl-go-type: DashboardWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominator\n                            description: The denominator of the ratio.\n                            required:\n                            - filter\n                            properties:\n                              aggregation:\n                                type: object\n                                x-dcl-go-name: Aggregation\n                                x-dcl-go-type: DashboardWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregation\n                                description: By default, the raw time series data\n                                  is returned. Use this field to combine multiple\n                                  time series for different views of the data.\n                                properties:\n                                  alignmentPeriod:\n                                    type: string\n                                    x-dcl-go-name: AlignmentPeriod\n                                    description: The `alignment_period` specifies\n                                      a time interval, in seconds, that is used to\n                                      divide the data in all the [time series][google.monitoring.v3.TimeSeries]\n                                      into consistent blocks of time. This will be\n                                      done before the per-series aligner can be applied\n                                      to the data.  The value must be at least 60\n                                      seconds. If a per-series aligner other than\n                                      `ALIGN_NONE` is specified, this field is required\n                                      or an error is returned. If no per-series aligner\n                                      is specified, or the aligner `ALIGN_NONE` is\n                                      specified, then this field is ignored.\n                                  crossSeriesReducer:\n                                    type: string\n                                    x-dcl-go-name: CrossSeriesReducer\n                                    x-dcl-go-type: DashboardWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationCrossSeriesReducerEnum\n                                    description: 'The reduction operation to be used\n                                      to combine time series into a single time series,\n                                      where the value of each data point in the resulting\n                                      series is a function of all the already aligned\n                                      values in the input time series.  Not all reducer\n                                      operations can be applied to all time series.\n                                      The valid choices depend on the `metric_kind`\n                                      and the `value_type` of the original time series.\n                                      Reduction can yield a time series with a different\n                                      `metric_kind` or `value_type` than the input\n                                      time series.  Time series data must first be\n                                      aligned (see `per_series_aligner`) in order\n                                      to perform cross-time series reduction. If `cross_series_reducer`\n                                      is specified, then `per_series_aligner` must\n                                      be specified, and must not be `ALIGN_NONE`.\n                                      An `alignment_period` must also be specified;\n                                      otherwise, an error is returned. Possible values:\n                                      REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX,\n                                      REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE,\n                                      REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,\n                                      REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,\n                                      REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,\n                                      REDUCE_MAKE_DISTRIBUTION'\n                                    enum:\n                                    - REDUCE_NONE\n                                    - REDUCE_MEAN\n                                    - REDUCE_MIN\n                                    - REDUCE_MAX\n                                    - REDUCE_SUM\n                                    - REDUCE_STDDEV\n                                    - REDUCE_COUNT\n                                    - REDUCE_COUNT_TRUE\n                                    - REDUCE_COUNT_FALSE\n                                    - REDUCE_FRACTION_TRUE\n                                    - REDUCE_PERCENTILE_99\n                                    - REDUCE_PERCENTILE_95\n                                    - REDUCE_PERCENTILE_50\n                                    - REDUCE_PERCENTILE_05\n                                    - REDUCE_FRACTION_LESS_THAN\n                                    - REDUCE_MAKE_DISTRIBUTION\n                                  groupByFields:\n                                    type: array\n                                    x-dcl-go-name: GroupByFields\n                                    description: The set of fields to preserve when\n                                      `cross_series_reducer` is specified. The `group_by_fields`\n                                      determine how the time series are partitioned\n                                      into subsets prior to applying the aggregation\n                                      operation. Each subset contains time series\n                                      that have the same value for each of the grouping\n                                      fields. Each individual time series is a member\n                                      of exactly one subset. The `cross_series_reducer`\n                                      is applied to each subset of time series. It\n                                      is not possible to reduce across different resource\n                                      types, so this field implicitly contains `resource.type`.  Fields\n                                      not specified in `group_by_fields` are aggregated\n                                      away.  If `group_by_fields` is not specified\n                                      and all the time series have the same resource\n                                      type, then the time series are aggregated into\n                                      a single output time series. If `cross_series_reducer`\n                                      is not defined, this field is ignored.\n                                    x-dcl-send-empty: true\n                                    x-dcl-list-type: list\n                                    items:\n                                      type: string\n                                      x-dcl-go-type: string\n                                  perSeriesAligner:\n                                    type: string\n                                    x-dcl-go-name: PerSeriesAligner\n                                    x-dcl-go-type: DashboardWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioDenominatorAggregationPerSeriesAlignerEnum\n                                    description: An `Aligner` describes how to bring\n                                      the data points in a single time series into\n                                      temporal alignment. Except for `ALIGN_NONE`,\n                                      all alignments cause all the data points in\n                                      an `alignment_period` to be mathematically grouped\n                                      together, resulting in a single data point for\n                                      each `alignment_period` with end timestamp at\n                                      the end of the period.  Not all alignment operations\n                                      may be applied to all time series. The valid\n                                      choices depend on the `metric_kind` and `value_type`\n                                      of the original time series. Alignment can change\n                                      the `metric_kind` or the `value_type` of the\n                                      time series.  Time series data must be aligned\n                                      in order to perform cross-time series reduction.\n                                      If `cross_series_reducer` is specified, then\n                                      `per_series_aligner` must be specified and not\n                                      equal to `ALIGN_NONE` and `alignment_period`\n                                      must be specified; otherwise, an error is returned.\n                                    enum:\n                                    - ALIGN_NONE\n                                    - ALIGN_DELTA\n                                    - ALIGN_RATE\n                                    - ALIGN_INTERPOLATE\n                                    - ALIGN_NEXT_OLDER\n                                    - ALIGN_MIN\n                                    - ALIGN_MAX\n                                    - ALIGN_MEAN\n                                    - ALIGN_COUNT\n                                    - ALIGN_SUM\n                                    - ALIGN_STDDEV\n                                    - ALIGN_COUNT_TRUE\n                                    - ALIGN_COUNT_FALSE\n                                    - ALIGN_FRACTION_TRUE\n                                    - ALIGN_PERCENTILE_99\n                                    - ALIGN_PERCENTILE_95\n                                    - ALIGN_PERCENTILE_50\n                                    - ALIGN_PERCENTILE_05\n                                    - ALIGN_MAKE_DISTRIBUTION\n                                    - ALIGN_PERCENT_CHANGE\n                              filter:\n                                type: string\n                                x-dcl-go-name: Filter\n                                description: Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)\n                                  that identifies the metric types, resources, and\n                                  projects to query.\n                          numerator:\n                            type: object\n                            x-dcl-go-name: Numerator\n                            x-dcl-go-type: DashboardWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumerator\n                            description: The numerator of the ratio.\n                            required:\n                            - filter\n                            properties:\n                              aggregation:\n                                type: object\n                                x-dcl-go-name: Aggregation\n                                x-dcl-go-type: DashboardWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregation\n                                description: By default, the raw time series data\n                                  is returned. Use this field to combine multiple\n                                  time series for different views of the data.\n                                properties:\n                                  alignmentPeriod:\n                                    type: string\n                                    x-dcl-go-name: AlignmentPeriod\n                                    description: The `alignment_period` specifies\n                                      a time interval, in seconds, that is used to\n                                      divide the data in all the [time series][google.monitoring.v3.TimeSeries]\n                                      into consistent blocks of time. This will be\n                                      done before the per-series aligner can be applied\n                                      to the data.  The value must be at least 60\n                                      seconds. If a per-series aligner other than\n                                      `ALIGN_NONE` is specified, this field is required\n                                      or an error is returned. If no per-series aligner\n                                      is specified, or the aligner `ALIGN_NONE` is\n                                      specified, then this field is ignored.\n                                  crossSeriesReducer:\n                                    type: string\n                                    x-dcl-go-name: CrossSeriesReducer\n                                    x-dcl-go-type: DashboardWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationCrossSeriesReducerEnum\n                                    description: 'The reduction operation to be used\n                                      to combine time series into a single time series,\n                                      where the value of each data point in the resulting\n                                      series is a function of all the already aligned\n                                      values in the input time series.  Not all reducer\n                                      operations can be applied to all time series.\n                                      The valid choices depend on the `metric_kind`\n                                      and the `value_type` of the original time series.\n                                      Reduction can yield a time series with a different\n                                      `metric_kind` or `value_type` than the input\n                                      time series.  Time series data must first be\n                                      aligned (see `per_series_aligner`) in order\n                                      to perform cross-time series reduction. If `cross_series_reducer`\n                                      is specified, then `per_series_aligner` must\n                                      be specified, and must not be `ALIGN_NONE`.\n                                      An `alignment_period` must also be specified;\n                                      otherwise, an error is returned. Possible values:\n                                      REDUCE_NONE, REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX,\n                                      REDUCE_SUM, REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE,\n                                      REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,\n                                      REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50,\n                                      REDUCE_PERCENTILE_05, REDUCE_FRACTION_LESS_THAN,\n                                      REDUCE_MAKE_DISTRIBUTION'\n                                    enum:\n                                    - REDUCE_NONE\n                                    - REDUCE_MEAN\n                                    - REDUCE_MIN\n                                    - REDUCE_MAX\n                                    - REDUCE_SUM\n                                    - REDUCE_STDDEV\n                                    - REDUCE_COUNT\n                                    - REDUCE_COUNT_TRUE\n                                    - REDUCE_COUNT_FALSE\n                                    - REDUCE_FRACTION_TRUE\n                                    - REDUCE_PERCENTILE_99\n                                    - REDUCE_PERCENTILE_95\n                                    - REDUCE_PERCENTILE_50\n                                    - REDUCE_PERCENTILE_05\n                                    - REDUCE_FRACTION_LESS_THAN\n                                    - REDUCE_MAKE_DISTRIBUTION\n                                  groupByFields:\n                                    type: array\n                                    x-dcl-go-name: GroupByFields\n                                    description: The set of fields to preserve when\n                                      `cross_series_reducer` is specified. The `group_by_fields`\n                                      determine how the time series are partitioned\n                                      into subsets prior to applying the aggregation\n                                      operation. Each subset contains time series\n                                      that have the same value for each of the grouping\n                                      fields. Each individual time series is a member\n                                      of exactly one subset. The `cross_series_reducer`\n                                      is applied to each subset of time series. It\n                                      is not possible to reduce across different resource\n                                      types, so this field implicitly contains `resource.type`.  Fields\n                                      not specified in `group_by_fields` are aggregated\n                                      away.  If `group_by_fields` is not specified\n                                      and all the time series have the same resource\n                                      type, then the time series are aggregated into\n                                      a single output time series. If `cross_series_reducer`\n                                      is not defined, this field is ignored.\n                                    x-dcl-send-empty: true\n                                    x-dcl-list-type: list\n                                    items:\n                                      type: string\n                                      x-dcl-go-type: string\n                                  perSeriesAligner:\n                                    type: string\n                                    x-dcl-go-name: PerSeriesAligner\n                                    x-dcl-go-type: DashboardWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioNumeratorAggregationPerSeriesAlignerEnum\n                                    description: An `Aligner` describes how to bring\n                                      the data points in a single time series into\n                                      temporal alignment. Except for `ALIGN_NONE`,\n                                      all alignments cause all the data points in\n                                      an `alignment_period` to be mathematically grouped\n                                      together, resulting in a single data point for\n                                      each `alignment_period` with end timestamp at\n                                      the end of the period.  Not all alignment operations\n                                      may be applied to all time series. The valid\n                                      choices depend on the `metric_kind` and `value_type`\n                                      of the original time series. Alignment can change\n                                      the `metric_kind` or the `value_type` of the\n                                      time series.  Time series data must be aligned\n                                      in order to perform cross-time series reduction.\n                                      If `cross_series_reducer` is specified, then\n                                      `per_series_aligner` must be specified and not\n                                      equal to `ALIGN_NONE` and `alignment_period`\n                                      must be specified; otherwise, an error is returned.\n                                    enum:\n                                    - ALIGN_NONE\n                                    - ALIGN_DELTA\n                                    - ALIGN_RATE\n                                    - ALIGN_INTERPOLATE\n                                    - ALIGN_NEXT_OLDER\n                                    - ALIGN_MIN\n                                    - ALIGN_MAX\n                                    - ALIGN_MEAN\n                                    - ALIGN_COUNT\n                                    - ALIGN_SUM\n                                    - ALIGN_STDDEV\n                                    - ALIGN_COUNT_TRUE\n                                    - ALIGN_COUNT_FALSE\n                                    - ALIGN_FRACTION_TRUE\n                                    - ALIGN_PERCENTILE_99\n                                    - ALIGN_PERCENTILE_95\n                                    - ALIGN_PERCENTILE_50\n                                    - ALIGN_PERCENTILE_05\n                                    - ALIGN_MAKE_DISTRIBUTION\n                                    - ALIGN_PERCENT_CHANGE\n                              filter:\n                                type: string\n                                x-dcl-go-name: Filter\n                                description: Required. The [monitoring filter](https://cloud.google.com/monitoring/api/v3/filters)\n                                  that identifies the metric types, resources, and\n                                  projects to query.\n                          pickTimeSeriesFilter:\n                            type: object\n                            x-dcl-go-name: PickTimeSeriesFilter\n                            x-dcl-go-type: DashboardWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilter\n                            description: Ranking based time series filter.\n                            properties:\n                              direction:\n                                type: string\n                                x-dcl-go-name: Direction\n                                x-dcl-go-type: DashboardWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterDirectionEnum\n                                description: 'How to use the ranking to select time\n                                  series that pass through the filter. Possible values:\n                                  DIRECTION_UNSPECIFIED, TOP, BOTTOM'\n                                enum:\n                                - DIRECTION_UNSPECIFIED\n                                - TOP\n                                - BOTTOM\n                              numTimeSeries:\n                                type: integer\n                                format: int64\n                                x-dcl-go-name: NumTimeSeries\n                                description: How many time series to allow to pass\n                                  through the filter.\n                              rankingMethod:\n                                type: string\n                                x-dcl-go-name: RankingMethod\n                                x-dcl-go-type: DashboardWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioPickTimeSeriesFilterRankingMethodEnum\n                                description: '`ranking_method` is applied to each\n                                  time series independently to produce the value which\n                                  will be used to compare the time series to other\n                                  time series. Possible values: METHOD_UNSPECIFIED,\n                                  METHOD_MEAN, METHOD_MAX, METHOD_MIN, METHOD_SUM,\n                                  METHOD_LATEST'\n                                enum:\n                                - METHOD_UNSPECIFIED\n                                - METHOD_MEAN\n                                - METHOD_MAX\n                                - METHOD_MIN\n                                - METHOD_SUM\n                                - METHOD_LATEST\n                          secondaryAggregation:\n                            type: object\n                            x-dcl-go-name: SecondaryAggregation\n                            x-dcl-go-type: DashboardWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregation\n                            description: Apply a second aggregation after the ratio\n                              is computed.\n                            properties:\n                              alignmentPeriod:\n                                type: string\n                                x-dcl-go-name: AlignmentPeriod\n                                description: The `alignment_period` specifies a time\n                                  interval, in seconds, that is used to divide the\n                                  data in all the [time series][google.monitoring.v3.TimeSeries]\n                                  into consistent blocks of time. This will be done\n                                  before the per-series aligner can be applied to\n                                  the data.  The value must be at least 60 seconds.\n                                  If a per-series aligner other than `ALIGN_NONE`\n                                  is specified, this field is required or an error\n                                  is returned. If no per-series aligner is specified,\n                                  or the aligner `ALIGN_NONE` is specified, then this\n                                  field is ignored.\n                              crossSeriesReducer:\n                                type: string\n                                x-dcl-go-name: CrossSeriesReducer\n                                x-dcl-go-type: DashboardWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationCrossSeriesReducerEnum\n                                description: 'The reduction operation to be used to\n                                  combine time series into a single time series, where\n                                  the value of each data point in the resulting series\n                                  is a function of all the already aligned values\n                                  in the input time series.  Not all reducer operations\n                                  can be applied to all time series. The valid choices\n                                  depend on the `metric_kind` and the `value_type`\n                                  of the original time series. Reduction can yield\n                                  a time series with a different `metric_kind` or\n                                  `value_type` than the input time series.  Time series\n                                  data must first be aligned (see `per_series_aligner`)\n                                  in order to perform cross-time series reduction.\n                                  If `cross_series_reducer` is specified, then `per_series_aligner`\n                                  must be specified, and must not be `ALIGN_NONE`.\n                                  An `alignment_period` must also be specified; otherwise,\n                                  an error is returned. Possible values: REDUCE_NONE,\n                                  REDUCE_MEAN, REDUCE_MIN, REDUCE_MAX, REDUCE_SUM,\n                                  REDUCE_STDDEV, REDUCE_COUNT, REDUCE_COUNT_TRUE,\n                                  REDUCE_COUNT_FALSE, REDUCE_FRACTION_TRUE, REDUCE_PERCENTILE_99,\n                                  REDUCE_PERCENTILE_95, REDUCE_PERCENTILE_50, REDUCE_PERCENTILE_05,\n                                  REDUCE_FRACTION_LESS_THAN, REDUCE_MAKE_DISTRIBUTION'\n                                enum:\n                                - REDUCE_NONE\n                                - REDUCE_MEAN\n                                - REDUCE_MIN\n                                - REDUCE_MAX\n                                - REDUCE_SUM\n                                - REDUCE_STDDEV\n                                - REDUCE_COUNT\n                                - REDUCE_COUNT_TRUE\n                                - REDUCE_COUNT_FALSE\n                                - REDUCE_FRACTION_TRUE\n                                - REDUCE_PERCENTILE_99\n                                - REDUCE_PERCENTILE_95\n                                - REDUCE_PERCENTILE_50\n                                - REDUCE_PERCENTILE_05\n                                - REDUCE_FRACTION_LESS_THAN\n                                - REDUCE_MAKE_DISTRIBUTION\n                              groupByFields:\n                                type: array\n                                x-dcl-go-name: GroupByFields\n                                description: The set of fields to preserve when `cross_series_reducer`\n                                  is specified. The `group_by_fields` determine how\n                                  the time series are partitioned into subsets prior\n                                  to applying the aggregation operation. Each subset\n                                  contains time series that have the same value for\n                                  each of the grouping fields. Each individual time\n                                  series is a member of exactly one subset. The `cross_series_reducer`\n                                  is applied to each subset of time series. It is\n                                  not possible to reduce across different resource\n                                  types, so this field implicitly contains `resource.type`.  Fields\n                                  not specified in `group_by_fields` are aggregated\n                                  away.  If `group_by_fields` is not specified and\n                                  all the time series have the same resource type,\n                                  then the time series are aggregated into a single\n                                  output time series. If `cross_series_reducer` is\n                                  not defined, this field is ignored.\n                                x-dcl-send-empty: true\n                                x-dcl-list-type: list\n                                items:\n                                  type: string\n                                  x-dcl-go-type: string\n                              perSeriesAligner:\n                                type: string\n                                x-dcl-go-name: PerSeriesAligner\n                                x-dcl-go-type: DashboardWidgetXyChartDataSetsTimeSeriesQueryTimeSeriesFilterRatioSecondaryAggregationPerSeriesAlignerEnum\n                                description: An `Aligner` describes how to bring the\n                                  data points in a single time series into temporal\n                                  alignment. Except for `ALIGN_NONE`, all alignments\n                                  cause all the data points in an `alignment_period`\n                                  to be mathematically grouped together, resulting\n                                  in a single data point for each `alignment_period`\n                                  with end timestamp at the end of the period.  Not\n                                  all alignment operations may be applied to all time\n                                  series. The valid choices depend on the `metric_kind`\n                                  and `value_type` of the original time series. Alignment\n                                  can change the `metric_kind` or the `value_type`\n                                  of the time series.  Time series data must be aligned\n                                  in order to perform cross-time series reduction.\n                                  If `cross_series_reducer` is specified, then `per_series_aligner`\n                                  must be specified and not equal to `ALIGN_NONE`\n                                  and `alignment_period` must be specified; otherwise,\n                                  an error is returned.\n                                enum:\n                                - ALIGN_NONE\n                                - ALIGN_DELTA\n                                - ALIGN_RATE\n                                - ALIGN_INTERPOLATE\n                                - ALIGN_NEXT_OLDER\n                                - ALIGN_MIN\n                                - ALIGN_MAX\n                                - ALIGN_MEAN\n                                - ALIGN_COUNT\n                                - ALIGN_SUM\n                                - ALIGN_STDDEV\n                                - ALIGN_COUNT_TRUE\n                                - ALIGN_COUNT_FALSE\n                                - ALIGN_FRACTION_TRUE\n                                - ALIGN_PERCENTILE_99\n                                - ALIGN_PERCENTILE_95\n                                - ALIGN_PERCENTILE_50\n                                - ALIGN_PERCENTILE_05\n                                - ALIGN_MAKE_DISTRIBUTION\n                                - ALIGN_PERCENT_CHANGE\n                      timeSeriesQueryLanguage:\n                        type: string\n                        x-dcl-go-name: TimeSeriesQueryLanguage\n                        description: A query used to fetch time series.\n                      unitOverride:\n                        type: string\n                        x-dcl-go-name: UnitOverride\n                        description: The unit of data contained in fetched time series.\n                          If non-empty, this unit will override any unit that accompanies\n                          fetched data. The format is the same as the [`unit`](https://cloud.google.com/monitoring/api/ref_v3/rest/v3/projects.metricDescriptors)\n                          field in `MetricDescriptor`.\n            thresholds:\n              type: array\n              x-dcl-go-name: Thresholds\n              description: Threshold lines drawn horizontally across the chart.\n              x-dcl-send-empty: true\n              x-dcl-list-type: list\n              items:\n                type: object\n                x-dcl-go-type: DashboardWidgetXyChartThresholds\n                properties:\n                  color:\n                    type: string\n                    x-dcl-go-name: Color\n                    x-dcl-go-type: DashboardWidgetXyChartThresholdsColorEnum\n                    description: 'The state color for this threshold. Color is not\n                      allowed in a XyChart. Possible values: COLOR_UNSPECIFIED, GREY,\n                      BLUE, GREEN, YELLOW, ORANGE, RED'\n                    enum:\n                    - COLOR_UNSPECIFIED\n                    - GREY\n                    - BLUE\n                    - GREEN\n                    - YELLOW\n                    - ORANGE\n                    - RED\n                  direction:\n                    type: string\n                    x-dcl-go-name: Direction\n                    x-dcl-go-type: DashboardWidgetXyChartThresholdsDirectionEnum\n                    description: 'The direction for the current threshold. Direction\n                      is not allowed in a XyChart. Possible values: DIRECTION_UNSPECIFIED,\n                      ABOVE, BELOW'\n                    enum:\n                    - DIRECTION_UNSPECIFIED\n                    - ABOVE\n                    - BELOW\n                  label:\n                    type: string\n                    x-dcl-go-name: Label\n                    description: A label for the threshold.\n                  value:\n                    type: number\n                    format: double\n                    x-dcl-go-name: Value\n                    description: The value of the threshold. The value should be defined\n                      in the native scale of the metric.\n            timeshiftDuration:\n              type: string\n              x-dcl-go-name: TimeshiftDuration\n              description: The duration used to display a comparison chart. A comparison\n                chart simultaneously shows values from two similar-length time periods\n                (e.g., week-over-week metrics). The duration must be positive, and\n                it can only be applied to charts with data sets of LINE plot type.\n            xAxis:\n              type: object\n              x-dcl-go-name: XAxis\n              x-dcl-go-type: DashboardWidgetXyChartXAxis\n              description: The properties applied to the X axis.\n              properties:\n                label:\n                  type: string\n                  x-dcl-go-name: Label\n                  description: The label of the axis.\n                scale:\n                  type: string\n                  x-dcl-go-name: Scale\n                  x-dcl-go-type: DashboardWidgetXyChartXAxisScaleEnum\n                  description: 'The axis scale. By default, a linear scale is used.\n                    Possible values: SCALE_UNSPECIFIED, LINEAR, LOG10'\n                  enum:\n                  - SCALE_UNSPECIFIED\n                  - LINEAR\n                  - LOG10\n            yAxis:\n              type: object\n              x-dcl-go-name: YAxis\n              x-dcl-go-type: DashboardWidgetXyChartYAxis\n              description: The properties applied to the Y axis.\n              properties:\n                label:\n                  type: string\n                  x-dcl-go-name: Label\n                  description: The label of the axis.\n                scale:\n                  type: string\n                  x-dcl-go-name: Scale\n                  x-dcl-go-type: DashboardWidgetXyChartYAxisScaleEnum\n                  description: 'The axis scale. By default, a linear scale is used.\n                    Possible values: SCALE_UNSPECIFIED, LINEAR, LOG10'\n                  enum:\n                  - SCALE_UNSPECIFIED\n                  - LINEAR\n                  - LOG10\n")

// 293657 bytes
// MD5: 7ee8b1d8c0f6f82521907ab36e3bfa91
